目標規范:
可以通過主機名,IP地址,網絡等
例:scanme.nmap.org, dream4.org/24, 192.168.0.1; 10.0.0-255.1-254
-iL <inputfilename>: 從指定文件獲取主機或網絡
-iR <num hosts>: 隨機選擇主機,(0 不限制掃描主機數)
--exclude <host1[,host2][,host3],...>: 排除指定主機或網絡
--excludefile <exclude_file>: 從指定文件獲取被排除的主機或網絡
主機發現:
-sL: 列表掃描- 簡單列出被掃描的目標(不發送任何報文至目標主機)
-sP: Ping 掃描- 僅僅進行ping掃描來發現目標主機,不做其他操作
-PN: 將所有主機設置為在線狀態-- 跳過主機狀態檢測
-PS/PA/PU [portlist]: 指定SYN(TCP SYN Ping)/ACK(TCP ACK Ping)/UPD(UDP Ping) 方式掃描指定的端口
-PE/PP/PM: 探測ICMP回顯,時間標記,網絡掩碼
-PO [protocol list]: 探測主機支持的網絡協議
-n/-R: 從不進行DNS解析[默認: sometimes]
--dns-servers <serv1[,serv2],...>: 自定義DNS服務器
--system-dns: 使用操作系統DNS解析
端口掃描技術:
-sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon 掃描
-sU: UDP 掃描
-sN/sF/sX: TCP null 不設置任何標志位(tcp標志頭是0),FIN(只設置TCP FIN標志位),Xmas(設置FIN,PSH,和URG標志位)掃描
--scanflags <flags>: 自定義掃描標志
-sI <zombie host[:probeport]>: 閑置掃描
-sO: IP協議掃描,確定目標機支持哪些IP協議(TCP,ICMP,IGMP,等等)
-b <FTP relay host>: FTP中轉掃描
--traceroute: 路由追蹤,追蹤到每臺主機的跳轉地址
--reason: 顯示每個端口的特定狀態
端口項詳細說明和掃描實例:
-p <port ranges>: 僅掃描指定端口
例:-p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080
-F: 快速模式- 掃描常見端口
-r: 不按隨機順序掃描端口
--top-ports <number>: 掃描<數量> 最常見的端口
--port-ratio <ratio>: 掃描最常見的端口<比率>
服務/版本探測:
-sV: 從開放的端口探測服務/版本信息
--version-intensity <level>: 設置掃描強度0 (高) to 9 (嘗試所有探測)
--version-light: 打開輕量級模式(intensity 2)
--version-all: 保證每個端口嘗試所有探測方式
--version-trace: 顯示正在進行掃描的任務的調試信息
腳本掃描:
-sC: 等同于使用默認腳本--script=default
--script=<Lua scripts>: <Lua scripts> 以逗號分隔名單、目錄列表、腳本文件或腳本類
--script-args=<n1=v1,[n2=v2,...]>: 提供腳本參數
--script-trace: 顯示所有發送和接受的數據
--script-updatedb: 更新腳本數據庫.
操作系統探測:
-O: 啟用操作系統探測
--osscan-limit: 針對指定的目標操作系統進行探測
--osscan-guess: 猜測最匹配的操作系統
時間和性能:
選項是以毫秒為單位,除非你追加's'(秒),'m'(分),或者'h'(小時)
-T[0-5]: 設置時間模板(越搞速度越快)
--min-hostgroup/max-hostgroup <size>: 調整并行掃描組的大小
--min-parallelism/max-parallelism <time>: 調整探測報文的并行度
--min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <time>: 指定探針超時時間
--max-retries <tries>: 指定最大重試次數
--host-timeout <time>: 目標在指定時間內未響應,則放棄
--scan-delay/--max-scan-delay <time>: 調整探測延遲
--min-rate <number>: 發送數據包不低于<number>每秒
--max-rate <number>: 發送數據包不高于<number>每秒
防火墻/IDS 規避和欺騙:
-f; --mtu <val>: 報文分段(使用指定的MTU)
-D <decoy1,decoy2[,ME],...>: 使用誘餌隱蔽掃描
-S <IP_Address>: 源地址欺騙
-e <iface>: 使用指定接口
-g/--source-port <portnum>: 源端口欺騙
--data-length <num>: 附件隨機數據包并發送
--ip-options <options>: 發送數據包與指定的IP選項
--ttl <val>: 設置IP time-to-live域
--spoof-mac <mac address/prefix/vendor name>: MAC地址欺騙
--badsum: 發送偽造的TCP/UDP數據包
輸出:
-oN/-oX/-oS/-oG <file>: 將掃描報告標準輸出, XML輸出, s|<rIpt kIddi3, 和Grep輸出,分別指定文件名
-oA <basename>: 輸出至所有格式
-v: 提高輸出信息的詳細度
-d[level]: 提高或設置調試級別(推薦設置9 )
--open: 只顯示打開的端口
--packet-trace: 顯示所有發送和接受的數據包
--iflist: 列舉接口和路由(調試)
--log-errors: 將錯誤記錄/警告保存至指定的文件
--append-output: 追加至指定輸出文件
--resume <filename>: 繼續暫停的掃描
--stylesheet <path/URL>: 設置XSL樣式表,轉換XML輸出
--webxml: 參考由Nmap.Org提供的WEBXML樣式表
--no-stylesheet: 忽略XML聲明的XSL樣式表
雜項:
-6: 啟用IPv6掃描
-A:高強度掃描模式選項
--datadir <dirname>: 指定用戶Nmap數據文件位置
--send-eth/--send-ip: 使用原以太網幀或原IP成發送數據包
--privileged: 假定用戶擁有全部權限
--unprivileged: 假定用戶不擁有原始套接字特權
-V: 顯示版本號
-h: 輸出幫助信息
實例:
nmap -v -A scanme.dream4.org
nmap -v -sP 192.168.0.0/16 10.0.0.0/8
nmap -v -iR 10000 -PN -p 80