【工具學習】Nmap
阿新 • • 發佈:2018-11-22
Nmap使用說明
語法:
nmap [掃描型別] [選項] [目標規範]
目標規範
可以傳遞主機名、IP地址、域名等。可以指定單個IP或IP段 eg:192.168.1.0/24、192.168.1.1,2,3-15
- -iL :從檔案中匯入掃描目標,eg:nmap ip.txt
- -iR :隨機選擇目標,引數指定Nmap要生成的IP數量,eg:nmap -iR 5
- –exclude :排除指定引數值的主機,以逗號分隔目標列表
- –excludefile :從檔案中排除主機
主機發現
- -sL:列表探測-只列出要掃描的目標
- -sN:無埠探測-發現主機存活後禁止埠掃描
- -Pn:禁ping探測-跳過主機發現
- -PS:TCP SYN Ping探測-向目標傳送建立連線請求,如果埠關閉則返回RST,如果埠開啟,則響應SYN/ACK資料包。該掃描將完成三次握手建立完整連線,類似Telnet請求。
- -PA:TCP ACK Ping探測-和SYN掃描型別,差別在於設定TCP ACK標誌而不是SYN標誌,故為半開連線。可利用此掃描繞過防火牆。
- -PU:UDP Ping探測
- -PY:SCTP INIT Ping探測-傳送最小INIT塊的SCTP資料包。
- -PE;-PP;-PM:ICMP Ping探測
- -P0:IP協議Ping探測
- -PR:ARP Ping探測
- -n / -R:不進行DNS解析/始終解析DNS
- –dns-server :指定自定義DNS伺服器
- –system-dns:使用系統DNS解析器
- –traceroute:跟蹤路由跳轉路徑
埠掃描技術
埠狀態:open(開啟)、closed(關閉)、filtered(過濾:有防火牆)、unfiltered(未經過濾:可以訪問埠但無法判斷是否開啟)、open/filtered(開放|過濾:無法判斷埠是開啟還是已過濾)、closed|filtered(關閉|過濾:無法判斷埠是關閉還是已過濾)
- -sS:TCP SYN掃描(半開掃描)-nmap預設掃描項,不建立完整連線
- -sT:TCP連線掃描-完整連線掃描,和telent埠類似
- -sU:UDP掃描
- -sY:SCTP INIT掃描-SCTP是TCP和UDP相對較新的替代方案,結合了TCP和UDP大多數特性,是TCP SYN掃描的SCTP等效物。
- -sN;-sF;-sX:空掃描、FIN掃描、Xmas掃描
- -sA:TCP ACK掃描
- -sW:TCP視窗掃描
- -sM:TCP Maimom掃描
- -sO:IP協議掃描-探測目標支援哪些IP協議
埠設定及掃描順序
預設情況下,nmap會掃描每個協議的最常見的1000個埠
- -p :指定掃描的埠範圍
- –exclude-ports :從掃描中排除指定的埠
- -F:快速模式-掃描比預設掃描更少的埠,減少到100個埠
- -r:連續掃描埠-不要隨機化
服務版本檢測
- -sV:版本探測-探測開放埠的版本資訊
- –version-intensity :設定版本掃描強度,範圍為0-9,數字越大,正確性越高,但時間更長,預設為7。
- –version-trace:跟蹤版本掃描活動-會列印掃描版本的大量除錯資訊
作業系統檢測
- -O:啟用OS檢測
指令碼引擎NSE
- -sC:使用預設指令碼執行指令碼掃描-相當於
--script=default
- –script=:以逗號分隔的列表目錄、指令碼
- –script-args = <n1 = v1,[n2 = v2,…]>:為指令碼提供引數
- –script-args-file = filename:在檔案中提供NSE指令碼args
- –script-trace:顯示傳送和接受的所有資料
- –script-updatedb:更新指令碼資料庫
- –script-help=:顯示有關指令碼的幫助
時間和效能
- -T <0-5>:設定時序模板(越高越快)-建議-T4(禁止TCP埠動態掃描超過10ms),-T5(mns)。-T1和-T2用來躲避IDS報警。
輸出
- -oN :正常輸出
- -oX :XML輸出
- -oA:輸出所有格式
- -v :設定詳細程度- -v1 -v2 -v3
- -d :設定除錯級別- -d1到-d9
- –reason:顯示主機和埠狀態原因- 此選項顯示確定埠或主機狀態的資料包的型別
- –open:僅顯示開啟(可能開啟)的埠
- –packet-trace:顯示傳送和接收的所有資料包
- –resum :恢復中止掃描
雜項
- -A:啟用作業系統檢測,版本檢測,指令碼掃描和跟蹤路由
- -6:啟用IPv6掃描
- -V:顯示版本資訊
- -h:顯示幫助資訊