用法
nmap [Scan Type(s)] [Options] {target specification}
指定目標
可以是主機名,IP地址,網絡等,例如:scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254
可使用參數
參數名稱 | 含義 | 備注 |
---|---|---|
目標指定參數 | ||
-iL <inputfilename> | 從主機或者網絡列表中輸入 | |
-iR <num hosts> | 選擇隨機目標 | |
--exclude <host1 | 擴展主機或者網絡 | |
--excludefile <exclude_file> | 從文件列表擴展 | |
主機發現參數 | ||
-sL | 列表掃描,簡單地掃描目標列表 | |
-sn | Ping掃描,不啟用端口掃描 | |
-Pn | 對待所有主機為在線,跳過主機發現 | |
-PS/PA/PU/PY[portlist] | 對指定端口進行TCP SYN/ACK, UDP 或者SCTP掃描 | |
-PE/PP/PM | ICMP輸出,時間戳,和網絡請求發現探針 | |
-PO[protocol list] | IP協議ping | |
-n/-R | 從不多DNS解析/常解析 | 默認:有時(sometimes) |
--dns-servers <serv1[,serv2],...> | 指定自定義DNS服務器 | |
--system-dns | 使用系統的DNS解析器 | |
--traceroute | 跟蹤到每台機器的跳數(hop) | |
掃描技術參數 | ||
-sS/sT/sA/sW/sM | TCP SYN/Connect()/ACK/Window/Maimon掃描 | |
-sU | UDP掃描 | |
--scanflags <flags> | 自定義TCP掃描標簽 | |
-sI <zombie host[:probeport]> | 空閑掃描 | |
-sY/sZ | SCTP INIT/COOKIE-ECHO掃描 | |
-sO | IP協議掃描 | |
-b <FTP relay host> | FTP反饋數據掃描 | |
端口指定和掃描順序參數 | 例如:-p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9 | |
-p <port ranges> | 僅掃描指定的端口 | |
--exclude-ports <port ranges> | 從指定的掃描端口擴展 | |
-F | 快速掃描模式,與默認相比, 僅掃描少數端口 | |
-r | 連續掃描端口-不要隨機化 | |
--top-ports <number> | 掃描指定數量的多數通用端口 | |
--port-ratio <ratio> | 掃默更多的通用端口 | |
服務**/版本檢測參數** | ||
-sV | 探針打開的端口判斷服務/版本信息 | |
--version-intensity <level> | 從0-9設置掃描深度 | 0 (light) ,9 (try all probes) |
--version-light | 限制為最可能的探針 | intensity 2 |
--version-all | 嘗試每一個單獨的探針 | intensity 9 |
--version-trace | 顯示詳細的版本信息,用於調試 | |
腳本掃描參數 | ||
-sC | 等價於使用 --script=default | |
--script=<Lua scripts> | <Lua scripts>是目錄、腳本文件或腳本類別的逗號分隔列表 | |
--script-args=<n1=v1,[n2=v2,...]> | 為腳本提供參數 | |
--script-args-file=filename | 在文件中提供NSE腳本參數 | |
--script-trace | 顯示所有發送和接收的數據 | |
--script-updatedb | 更新腳本數據庫 | |
--script-help=<Lua scripts> | 顯示腳本的幫助信息 | |
操作系統檢測參數 | ||
-O | 啟用操作系統檢測 | |
--osscan-limit | 對可能的目標限制操作系統檢測 | |
--osscan-guess | 具有攻擊性的猜測操作系統 | |
時間和性能參數 | <time>為秒,其他可用:'ms' (milliseconds), 's' (seconds), 'm' (minutes), or 'h' (hours) | |
-T<0-5> | 設置時間模板,越高越快 | |
--min-hostgroup/max-hostgroup <size> | 並行掃描主機組大小 | |
--min-parallelism/max-parallelism <numprobes> | 探針並行數量 | |
--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> | 片段數據包(fragment packets)(可選w/給定的MTU) | |
-D <decoy1,decoy2[,ME],...> | 用誘餌掩蓋掃描 | |
-S <IP_Address> | 偽造源地址 | |
-e <iface> | 使用指定的接口 | |
-g/--source-port <portnum> | 使用指定的端口號 | |
--proxies <url1,[url2],...> | 通過HTTP/SOCKS4代理進行中繼連接 | |
--data <hex string> | 將自定義負載附加到已發送的數據包 | |
--data-string <string> | 將自定義ASCII字符串附加到已發送的數據包 | |
--data-length <num> | 將隨機數據附加到已發送的數據包 | |
--ip-options <options> | 使用指定的IP選項發送數據包 | |
--ttl <val> | 設置IP存活(time-to-live)字段 | |
--spoof-mac <mac address/prefix/vendor name> | 偽裝MAC地址 | |
--badsum | 使用偽造的TCP/UDP/SCTP校驗和發送數據包 | |
輸出參數 | ||
-oN/-oX/-oS/-oG <file> | 將normal、XML、s |<rIpt kIddi3和greable格式的掃描輸出到給定的文件名。 | |
-oA <basename> | 同時輸出三種主要格式 | |
-v | 增加詳細級別(使用-vv或更多以獲得更大的效果) | |
-d | 增加調試級別(使用-dd或更多以獲得更大的效果) | |
--reason | 顯示端口處於特定狀態的原因 | |
--open | 僅顯示打開(或可能打開)的端口 | |
--packet-trace | 顯示所有發送和接收的數據包 | |
--iflist | 打印主機接口和路由(用於調試) | |
--append-output | 附加到指定的輸出文件,而不是刪除指定的輸出文件 | |
--resume <filename> | 恢復中止的掃描 | |
--stylesheet <path/URL> | 將XML輸出轉換為HTML的XSL樣式表 | |
--webxml | 引用樣式表來自Nmap.Org網站對於更可移植的XML | |
--no-stylesheet | 阻止將XSL樣式表與XML輸出關聯 | |
其他設置參數 | ||
-6 | 啟用IPV6掃描 | |
-A | 啟用操作系統檢測、版本檢測、腳本掃描和traceroute | |
--datadir <dirname> | 指定自定義Nmap數據文件位置 | |
--send-eth/--send-ip | 用原以太幀或者IP包發送 | |
--privileged | 假設用戶具有完全特權 | |
--unprivileged | 假設用戶缺少原始套接字權限 | |
-V | 打印版本號 | |
-h | 顯示幫助匯總頁 |
案例
nmap -v -A scanme.nmap.org
nmap -v -sn 192.168.0.0/16 10.0.0.0/8
nmap -v -iR 10000 -Pn -p 80