1. 程式人生 > 其它 >4.nmap常用命令備忘錄

4.nmap常用命令備忘錄

Nmap常用命令備忘錄

兄弟們不知道你們有沒有忘記命令的尷尬時刻, 然後在老闆面前現場百度一下, 雖然我現在沒有遇到過, 但是命令這個玩意你懂得, 不敲早晚會忘, 所以在此寫下備忘錄以便檢視

0x01. 目標規格

nmap 192.168.31.185                            掃描一個IP
nmap 192.168.31.1 192.168.31.146      掃描兩個(多個)ip
nmap 192.168.31.1-254                        掃描一個範圍的ip(會慢)
nmap nmap.org                                    掃描一個域名
nmap 192.168.1.0/24                            使用CIDR表示法掃描
nmap -iL target.txt                                掃描檔案中的目標
nmap -iR 100                                        掃描100個隨機主機
nmap --exclude 192.168.1.1                 排除列出的主機

像以上的這種沒有指定掃描方式的掃描, 是用的-sS半連線掃描, 也叫隱身掃描

0x02. 掃描手法

nmap 192.168.31.1 -sS        TCP SYN埠掃描(有root許可權預設)
nmap 192.168.31.1 -sT        TCP連線埠掃描(沒有root許可權預設)
nmap 192.168.31.1 -sU        UDP埠掃描
nmap 192.168.31.1 -sA        TCP ACK埠掃描
nmap 192.168.31.1 -sW        滑動視窗掃描
nmap 192.168.31.1 -sM        TCP Maimon掃描

0x03 掃描手法

nmap 192.168.31.1-3 -sL                   不掃描,僅列出目標
nmap 192.168.31.1/24 -sn                 禁用埠掃描
nmap 192.168.31.1-5 -Pn                   跳過主機發現,直接掃描埠
nmap 192.168.31.1-5 -PS22-25,80      埠X上的TCP SYN發現,預設80
nmap 192.168.31.1-5 -PA22-25,80      埠X上的TCP ACK發現,預設80
nmap 192.168.31.1-5 -PU53               埠X上的UDP發現,預設40125
nmap 192.168.31.1/24 -PR                 本地網路上的ARP發現
nmap 192.168.31.1 -n                         不做DNS解析

0x04 掃描埠

nmap 192.168.31.1 -p 21                         掃描特定埠
nmap 192.168.31.1 -p 21-100                 掃描埠範圍
nmap 192.168.31.1 -p U:53,T:21-25,80    掃描多個TCP和UDP埠
nmap 192.168.31.1 -p-                            掃描所有埠
nmap 192.168.31.1 -p http,https            基於服務名稱的埠掃描
nmap 192.168.31.1 -F                              快速掃描(100個埠)
nmap 192.168.31.1 --top-ports 2000      掃描前2000個埠
nmap 192.168.31.1 -p 1-65535                  從埠1開始掃描

0x05 時間和效能

nmap 192.168.31.1 -T0    妄想症,非常非常慢,用於IDS逃逸
nmap 192.168.31.1 -T1    猥瑣的,相當慢,用於IDS逃逸
nmap 192.168.31.1 -T2    禮貌的,降低速度以消耗更小的頻寬,比預設慢十倍
nmap 192.168.31.1 -T3    正常的,預設,根據目標的反應自動調整時間模式
nmap 192.168.31.1 -T4    野蠻的,在一個很好的網路環境,請求可能會淹沒目標
nmap 192.168.31.1 -T5    瘋狂的,很可能會淹沒目標埠或是漏掉一些開放埠

0x06 NSE指令碼

nmap 192.168.31.1 -sC                                   使用預設的NSE指令碼進行掃描
nmap 192.168.31.1 --script=banner              使用單個指令碼掃描,banner示例
nmap 192.168.31.1 --script=http,banner       使用兩個指令碼掃描,示例http,banner
nmap 192.168.31.1 --script=http*                  使用萬用字元掃描,http示例
nmap 192.168.31.1 --script "not intrusive"    掃描預設值,刪除侵入性指令碼
nmap 192.168.31.1 --script=smb-vuln*         掃描所有smb漏洞
nmap 192.168.31.1 --script=vuln                   掃描常見漏洞

0x07 輸出

nmap 192.168.31.1 -v                        增加詳細程度,-vv效果更好
nmap 192.168.31.1 -oN test.txt         標準輸出寫入到指定檔案中
nmap 192.168.31.1 -oX test.xml        將輸入寫成xml的形式
nmap 192.168.31.1 -oG grep.txt        將輸出寫成特殊格式
nmap 192.168.31.1 -oA results          將輸出所有格式,有三種 .xml/.gnmap/.nmap
nmap 192.168.31.1 --open                僅顯示開放的埠
nmap 192.168.31.1 -T4 --packet-trace  顯示所有傳送和接收的資料包
nmap --resume test.txt                      恢復掃描,配合-oG等命令使用

0x08 服務和版本檢測

nmap 192.168.31.1 -sV                                     嘗試確定埠上執行的服務的版本         
nmap 192.168.31.1 -sV --version-intensity 8   強度級別0到9,數字越大,正確性越強,預設值為7    
nmap 192.168.31.1 -sV --version-light            輕量級版本掃描,使掃描程序加快,但它識別服務的正確率降低 
nmap 192.168.31.1 -sV --version-all               version-all相當於version-intensity的最高級別9,保證對每個埠嘗試每個探測報文  
nmap 192.168.31.1 -A                                       啟用作業系統檢測,版本檢測,指令碼掃描和跟蹤路由...    
nmap 192.168.31.1 -O                                       使用TCP/IP進行遠端OS指紋識別
nmap 192.168.31.1 -O --osscan-guess             當Nmap無法確定所檢測的作業系統時,會盡可能地提供最相近的匹配   

0x09 防火牆/IDS規避和欺騙

報文分段,請求的掃描(包括ping掃描)使用微小的碎片IP資料包, 包過濾器檢測更難nmap 192.168.31.1 -f
利用資料包分片技術,某些防火牆為了加快處理速度而不會進行重組處理,這樣從而逃脫防火牆或闖入檢測系統的檢測,注意:mtu的值必須是8的倍數(如8,16,24,32等)nmap 192.168.31.1 --mtu 32
使用-D選項就可以達到IP欺騙的目的,可以指定多個IP或者使用RND隨機生成幾個IP地址nmap -D 10.1.1.1,20.2.2.2 192.168.1.1nmap -D RND:11 192.168.31.1
源地址欺騙,從Microso掃描Facebooknmap -S www.microso.com www.facebook.com指定源主機埠,來手動設定用來掃描的埠,常用的如20、53、67埠nmap -g 53 192.168.31.1
通過HTTP/SOCKS4代理中繼連線nmap --proxies http://191.1.1.1:1080,http://192.2.2.2:1080 192.168.1.1新增垃圾資料,通過在傳送的資料包末尾新增隨機的垃圾資料,以達到混淆視聽的作效果,200是垃圾資料長度nmap --data-length 200 192.168.31.1
偽裝MAC地址,可以手動指定MAC地址的值。或者為了簡單起見,可以填數字0,這將生成一個隨機的MAC地址nmap --spoof-mac 0 192.168.31.1
偽造檢驗值,這將使用偽造的TCP/UDP/SCTP校驗和傳送資料nmap --badsum 192.168.31.1

示例IDS規避命令

nmap -f -T0 -n -Pn --data-length 200 -D 192.168.1.101,192.168.1.102,192.168.1.103,192.168.1.23 192.168.1.1

0x010 埠狀態

open(開放的):

應用程式正在該埠接收TCP 連線或者UDP報文。發現這一點常常是埠掃描 的主要目標。安全意識強的人們知道每個開放的埠 都是攻擊的入口。攻擊者或者入侵測試者想要發現開放的埠。而管理員則試圖關閉它們或者用防火牆保護它們以免妨礙了合法使用者。非安全掃描可能對開放的埠也感興趣,因為它們顯示了網路上那些服務可供使用。

closed(關閉的):

關閉的埠對於Nmap也是可訪問的(它接受Nmap的探測報文並作出響應), 但沒有應用程式在其上監聽。它們可以顯示該IP地址上(主機發現,或者ping掃描)的主機正在執行up 也對部分作業系統探測有所幫助。因為關閉的關口是可訪問的,也許過會兒值得再掃描一下,可能一些又開放了。系統管理員可能會考慮用防火牆封鎖這樣的埠。那樣他們就會被顯示為被過濾的狀態,下面討論。

filtered(被過濾的):

由於包過濾阻止探測報文到達埠, Nmap無法確定該埠是否開放。過濾可能來自專業的防火牆裝置,路由器規則 或者主機上的軟體防火牆。這樣的埠讓攻擊者感覺很挫折,因為它們幾乎不提供 任何資訊。有時候它們響應ICMP錯誤訊息如型別3程式碼13 (無法到達目標: 通訊被管理員禁止),但更普遍的是過濾器只是丟棄探測幀, 不做任何響應。這迫使Nmap重試若干次以訪萬一探測包是由於網路阻塞丟棄的。這使得掃描速度明顯變慢。

unfiltered(未被過濾的):

未被過濾狀態意味著埠可訪問,但Nmap不能確定它是開放還是關閉。只有用於對映防火牆規則集的ACK掃描才會把埠分類到這種狀態。用其它型別的掃描如視窗掃描,SYN掃描,或者FIN掃描來掃描未被過濾的埠可以幫助確定 埠是否開放。

open | filtered(開放或者被過濾的):

當無法確定埠是開放還是被過濾的,Nmap就把該埠劃分成 這種狀態。開放的埠不響應就是一個例子。沒有響應也可能意味著報文過濾器丟棄 了探測報文或者它引發的任何響應。因此Nmap無法確定該埠是開放的還是被過濾的。UDP,IP協議, FIN,Null,和Xmas掃描可能把埠歸入此類。

closed | filtered(關閉或者被過濾的):

該狀態用於Nmap不能確定埠是關閉的還是被過濾的。它只可能出現在IPID Idle掃描中。