目標規範:
可以通過主機名稱,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