0X00 背景
nmap是測試中常用的網絡探測工具,但是這回簡單的操作,一直了解不深入,現在深入的了解和學習一下。
在文章結構上,我把平時常用的內容提前了,以便再次查閱的時候,比較方便。
0X01 安裝
nmap可以到
Download the Free Nmap Security Scanner for Linux/Mac/Windows
下載最新版本(目前最新版本?nmap-7.70)
0X02 實例部分
實例
下面給出一些實例,簡單的、復雜的到深奧的。為更具體,一些例子使用了實際的IP地址和域名。在這些位置,可以使用你自己網絡 的地址/域名替換。注意,掃描其它網絡不一定合法,一些網絡管理員不愿看到未申請過的掃描,會產生報怨。因此,先獲得允許是最好的辦法。
命令組成
nmap [ <掃描類型> ...] [ <選項> ] { <掃描目標說明> }
初級使用
nmap -v scanme.nmap.org
這個選項掃描主機scanme.nmap.org中所有的保留TCP端口。選項-v啟用細節模式。
nmap -A -T4 scanme.nmap.org
-A用來進行操作系統及其版本的探測,-T4 可以加快執行速度
nmap -sS -O scanme.nmap.org/24
進行秘密SYN掃描,對象為主機Saznme所在的“C類”網段的255臺主機。同時嘗試確定每臺工作主機的操作系統類型。因為進行SYN掃描 和操作系統檢測,這個掃描需要有根權限。
nmap -sV -p 22,53,110,143,4564 198.116.0-255.1-127
進行主機列舉和TCP掃描,對象為B類188.116網段中255個8位子網。這 個測試用于確定系統是否運行了sshd、DNS、imapd或4564端口。如果這些端口 打開,將使用版本檢測來確定哪種應用在運行。
nmap -v -iR 100000 -P0 -p 80
隨機選擇100000臺主機掃描是否運行Web服務器(80端口)。由起始階段發送探測報文來確定主機是否工作非常浪費時間,而且只需探測主機的一個端口,因此使用-P0禁止對主機列表。
nmap -P0 -p80 -oX logs/pb-port80scan.xml -oG logs/pb-port80scan.gnmap 216.163.128.20/20
掃描4096個IP地址,查找Web服務器(不ping),將結果以Grep和XML格式保存。
host -l company.com | cut -d -f 4 | nmap -v -iL -
進行DNS區域傳輸,以發現company.com中的主機,然后將IP地址提供給 Nmap。上述命令用于GNU/Linux -- 其它系統進行區域傳輸時有不同的命令。
深入掃描命令
-Pn 不探測掃描(假定所有主機都存活)
-PB 默認探測掃描(探測端口:TCP 80,445&ICMP)
-PS?tcp探測掃描
-PE ICMP Echo Request
-PP ICMP Timestamp Request
-PM ICMP Netmask Request
掃描類型
-sP 只探測主機在線情況
-sS SYN掃描(隱身掃描)
-ST TCP掃描
-sU UDP掃描
-sV 系統版本檢測
-O 操作系統識別
–scanflags 指定TCP標識位(設置URG, ACK, PSH,RST,SYN,FIN位)
細粒度的時間選項
–min-hostgroup/max-hostgroup?平行的主機掃描組的大小
–min-parallelism/max-parallelism?并行探測
–min-rtt-timeout/max-rtttimeout/initial-rtt-timeout?指定每輪探測的時間
–max-retries?掃描探測的上限次數設定
–host-timeout?設置timeout時間
–scan-delay/–max-scan-delay?調整兩次探測之間的延遲
–min-rate?每秒發送數據包不少于次
時序選項
-T0 偏執的:非常非常慢,用于IDS逃逸
-T1 猥瑣的:相當慢,用于IDS逃逸
-T2 有禮貌的:降低速度以消耗更小的帶寬,比默認慢十倍
-T3 普通的:默認,根據目標的反應自動調整時間模式
-T4 野蠻的:假定處在一個很好的網絡環境,請求可能會淹沒目標
-T5 瘋狂的:非常野蠻,很可能會淹沒目標端口或是漏掉一些開放端口
輸出格式
-oN 標準輸出
-oG 好理解的格式
-ox xml格式
-oA 用生成以上格式的文件
misc選項
-n 禁止反向IP地址查找
-6 只是用 IPv6
-A 是用幾個命令:OS 探測,版本探測,腳本掃描,traceroute
–reason 列出nmap的判斷:端口開放,關閉,被過濾。
0X03 腳本講解
nmap腳本主要分為以下幾類,在掃描時可根據需要設置--script=類別這種方式進行比較籠統的掃描:
腳本引擎
-sC 運行默認腳本
–script=
運行個人腳本或批量腳本
–script-args=<Name1=value1,…>
使用腳本參數列表
–script-updatedb
更新腳本數據庫
腳本主要種類
auth: 利用或繞過目標主機得訪問控制
broadcast: 在局域網內探查更多服務開啟狀況,如dhcp/dns/sqlserver等服務
brute: 提供暴力破解方式,針對常見的應用如http/snmp等
default: 使用-sC或-A選項掃描時候默認的腳本,提供基本腳本掃描能力
discovery: 對網絡進行更多的信息,如SMB枚舉、SNMP查詢等
dos: 用于進行拒絕服務攻擊
exploit: 利用已知的漏洞入侵系統
external: 利用第三方的數據庫或資源,例如進行whois解析
fuzzer: 模糊測試的腳本,發送異常的包到目標機,探測出潛在漏洞
intrusive: 入侵性的腳本,此類腳本可能引發對方的IDS/IPS的記錄或屏蔽
malware: 探測目標機是否感染了病毒、開啟了后門等信息
safe: 此類與intrusive相反,屬于安全性腳本
version: 負責增強服務與版本掃描(Version Detection)功能的腳本
vuln: 負責檢查目標機是否有常見的漏洞(Vulnerability),如是否有MS08_067
nmap按腳本分類掃描
nmap --script=auth 192.168.137.*
負責處理鑒權證書(繞開鑒權)的腳本,也可以作為檢測部分應用弱口令
nmap --script=brute 192.168.137.*
提供暴力破解的方式 可對數據庫,smb,snmp等進行簡單密碼的暴力猜解
nmap --script=default 192.168.137.* 或者 nmap -sC 192.168.137.*
默認的腳本掃描,主要是搜集各種應用服務的信息,收集到后,可再針對具體服務進行攻擊
nmap --script=vuln 192.168.137.*
檢查是否存在常見漏洞
nmap -n -p445 --script=broadcast 192.168.137.4
在局域網內探查更多服務開啟狀況
nmap --script external 202.103.243.110
利用第三方的數據庫或資源,例如進行whois解析
nmap按應用服務掃描
(1)vnc掃描:
1:檢查vnc bypass
nmap --script=realvnc-auth-bypass 192.168.137.4
2:檢查vnc認證方式
nmap --script=vnc-auth 192.168.137.4
3:獲取vnc信息
nmap --script=vnc-info 192.168.137.4
(2)smb掃描:
1:smb破解
nmap --script=smb-brute.nse -p445 192.168.137.4
2:smb字典破解
nmap --script=smb-brute.nse --script-args=userdb=/var/passwd,passdb=/var/passwd 192.168.137.4
3:smb已知幾個嚴重漏
nmap --script=smb-check-vulns.nse --script-args=unsafe=1 192.168.137.4
4:查看共享目錄
nmap -p 445 --script smb-ls --script-args ‘share=e$,path=,smbuser=test,smbpass=test’ 192.168.137.4
5:smb-psexec: 用登陸憑據作為腳本參數,在目標機器上運行一系列程序(注:需要下載nmap_service)
$nmap –script smb-psexec.nse –script-args=smbuser=,smbpass=[,config=] -p445
6:查看會話
nmap -n -p445 --script=smb-enum-sessions.nse --script-args=smbuser=test,smbpass=test 192.168.137.4
7:系統信息
nmap -n -p445 --script=smb-os-discovery.nse --script-args=smbuser=test,smbpass=test 192.168.137.4
(3)Mssql掃描:
1:猜解mssql用戶名和密碼
nmap -p1433 --script=ms-sql-brute --script-args=userdb=/var/passwd,passdb=/var/passwd 192.168.137.4
2:xp_cmdshell 執行命令
nmap -p 1433 --script ms-sql-xp-cmdshell --script-args mssql.username=sa,mssql.password=sa,ms-sql-xp-cmdshell.cmd="net user" 192.168.137.4
3:dumphash值
nmap -p 1433 --script ms-sql-dump-hashes.nse --script-args mssql.username=sa,mssql.password=sa 192.168.137.4
(4)Mysql掃描:
1:檢查mysql空密碼
nmap -p 3306 --script=mysql-empty-password.nse 192.168.1.114
2:如果沒有空密碼,則可以使用自帶的暴力破解功能嘗試破解
nmap -p 3306 --script=mysql-brute.nse 192.168.1.114
3:如果知道了用戶名與密碼,可以枚舉數據庫中的用戶
nmap -p 3306 --script=mysql-users.nse --script-args=mysqluser=root 192.168.1.114
4:枚舉mysql用戶信息
nmap -p 3306 --script=mysql-enum.nse 192.168.1.114
5:支持同一應用的所有腳本掃描
nmap --script=mysql-* 192.168.137.4
(5)Oracle掃描:
1:oracle sid掃描
nmap --script=oracle-sid-brute -p 1521-1560 192.168.137.5
2:oracle弱口令破解
nmap --script oracle-brute -p 1521 --script-args oracle-brute.sid=ORCL,userdb=/var/passwd,passdb=/var/passwd 192.168.137.5
(6)其他一些比較好用的腳本
nmap --script=broadcast-netbios-master-browser 192.168.137.4 發現網關
nmap -p 873 --script rsync-brute --script-args 'rsync-brute.module=www' 192.168.137.4 破解rsync
nmap --script informix-brute -p 9088 192.168.137.4 informix數據庫破解
nmap -p 5432 --script pgsql-brute 192.168.137.4 pgsql破解
nmap -sU --script snmp-brute 192.168.137.4 snmp破解
nmap -sV --script=telnet-brute 192.168.137.4 telnet破解
nmap --script=http-vuln-cve2010-0738 --script-args 'http-vuln-cve2010-0738.paths={/path1/,/path2/}'?jboss autopwn
nmap --script=http-methods.nse 192.168.137.4 檢查http方法
nmap --script http-slowloris --max-parallelism 400 192.168.137.4 dos攻擊,對于處理能力較小的站點還挺好用的 'half-HTTP' connections
nmap --script=samba-vuln-cve-2012-1182 -p 139 192.168.137.4
(7)不靠譜的腳本:
vnc-brute 次數多了會禁止連接
pcanywhere-brute 同上
0X04 Nmap 參考指南
了解Nmap
Nmap是什么?
Nmap (“Network Mapper(網絡映射器)”) 是一款開放源代碼的 網絡探測和安全審核的工具。它的設計目標是快速地掃描大型網絡,當然用它掃描單個主機也沒有問題。
Nmap收集的信息有哪些?
- 使用原始IP報文來發現網絡上有哪些主機
- 那些主機提供什么服務(應用程序名和版本)
- 那些服務運行在什么操作系統(包括版本信息)
- 它們使用什么類型的報文過濾器/防火墻,以及一堆其它功能。
雖然Nmap通常用于安全審核,許多系統管理員和網絡管理員也用它來做一些日常的工作,比如查看整個網絡的信息,管理服務升級計劃,以及監視主機和服務的運行。
Nmap的輸出結果有什么?
Nmap輸出的是掃描目標的列表,以及每個目標的補充信息,至于是哪些信息則依賴于所使用的選項。
“所感興趣的端口表格”是其中的關鍵。那張表列出端口號,協議,服務名稱和狀態。
狀態可能是:
open(開放的)
filtered(被過濾的)
closed(關閉的)
unfiltered(未被過濾的)。
端口掃描基礎
- Open(開放的)意味著目標機器上的應用程序正在該端口監聽連接/報文。
- filtered(被過濾的) 意味著防火墻,過濾器或者其它網絡障礙阻止了該端口被訪問,Nmap無法得知 它是 open(開放的) 還是 closed(關閉的)。
- closed(關閉的) 端口沒有應用程序在它上面監聽,但是他們隨時可能開放。
- 當端口對Nmap的探測做出響應,但是Nmap無法確定它們是關閉還是開放時,這些端口就被認為是 unfiltered(未被過濾的) 。
- 如果Nmap報告狀態組合 open|filtered 和 closed|filtered時,那說明Nmap無法確定該端口處于兩個狀態中的哪一個狀態。
- 當要求進行版本探測時,端口表也可以包含軟件的版本信息。
- 當要求進行IP協議掃描時 (-sO),Nmap提供關于所支持的IP協議而不是正在監聽的端口的信息。
- 除了所感興趣的端口表,Nmap還能提供關于目標機的進一步信息,包括反向域名,操作系統猜測,設備類型,和MAC地址。
-A, 用來進行操作系統及其版本的探測
-T4 可以加快執行速度
用途:nmap [掃描類型] [選項] {目標規范}
目標規范:
可以傳遞主機名,IP地址,網絡等。
例如:
scanme.nmap.org
microsoft.com/24
192.168.0.1
10.0-255.0-255.1-254
**目標說明 **
-iL?:從主機/網絡列表中輸入
-iR?:選擇隨機目標,選項 0 意味著永無休止的掃描。
--exclude <host1 [,host2] [,host3],...>:排除主機/網絡
--excludefile <exclude_file>:從文件中排除列表
主機發現
-sL:列表掃描 - 僅列出要掃描的目標
-sP:Ping掃描 – 主要確定主機是否在線
-P0:將所有主機視為在線 - 跳過主機發現
--PS / PA / PU [portlist]:TCP SYN / ACK或UDP發現探測到給定端口
-PE / PP / PM:ICMP回顯,時間戳和網絡掩碼請求發現探測
-PR:AEP掃描,針對目標ip的硬件地址
-n:不用域名解析,加快掃描
-R:為所有目標解析域名,發現機器正在運行時
--system-dns:使用系統域名解析器
端口掃描技術
Nmap支持的大約十幾種掃描技術。 一般一次只用一種方法, 除了UDP掃描(-sU)可能和任何一種TCP掃描類型結合使用。
-sS :TCP SYN掃描,半開放,速度快。
-sT :TCP connect()建立高層系統調用,通過Berkeley Sockets API獲取每個連接嘗試的狀態信息,不推薦可能留下日志記錄
-sA :ACK掃描,用于發現防火墻規則,確定它們是有狀態的還是無狀態的,哪些端口是被過濾的。
-sU :UDP掃描,DNS,SNMP,和DHCP (注冊的端口是53,161/162,和67/68)是最常見。可以與sT和sS結合使用,可以用版本掃描(-sV)幫助區分真正的開放端口和被過濾的端口。
-sW :TCP窗口掃描,通過檢查返回的RST報文的TCP窗口域。 在某些系統上,開放端口用正數表示窗口大小(甚至對于RST報文) 而關閉端口的窗口大小為0。
-sM: Maimon掃描
-sN :Null掃描,不設置任何標志位(tcp標志頭是0)
-sF :FIN掃描,只設置TCP FIN標志位
-sX :Xmas掃描,設置FIN,PSH,和URG標志位,就像點亮圣誕樹上所有的燈一樣。
--scanflags?:自定義TCP掃描標志,只要是URG, ACK,PSH, RST,SYN,and FIN的任何組合就行。
-sI <zombie host [:probeport]>:Idlescan 除了極端隱蔽(由于它不從真實IP地址發送任何報文),該掃描類型可以建立機器間的基于IP的信任關系。 端口列表從zombie 主機的角度。顯示開放的端口。 因此您可以嘗試用您認為(通過路由器/包過濾規則)可能被信任的 zombies掃描目標。
如果您由于IPID改變希望探測zombie上的特定端口,您可以在zombie 主機后加上一個冒號和端口號。 否則Nmap會使用默認端口(80)。
-sO:IP協議掃描,在IP協議域的8位上循環,發送IP報文頭。
-b?:FTP跳轉掃描,這是繞過防火墻的好方法,因為FTP服務器常常被置于可以訪問比Web主機更多其它內部主機的位置。Nmap用-b選項支持ftp彈跳掃描。參數格式是?:@:。?是某個脆弱的FTP服務器的名字或者IP地址。 您也許可以省略:, 如果服務器上開放了匿名用戶(user:anonymous password:-wwwuser@)。 端口號(以及前面的冒號) 也可以省略,如果使用默認的FTP端口(21)。
--host-timeout:跳過慢速的主機。
端口說明和掃描順序
默認情況下,Nmap用指定的協議對端口1到1024以及nmap-services 文件中列出的更高的端口在掃描。
-p <端口范圍>:僅掃描指定的端口
例如:-p22 ; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080
-F:快速掃描(有限的端口)
-r: (不要按隨機順序掃描端口)
服務和版本探測
用下列的選項打開和控制版本探測。
-sV (版本探測) 您也可以用-A同時打開操作系統探測和版本探測。
--allports (掃描所有端口)
--version-intensity?(設置版本掃描強度)
高強度掃描花更多時間。強度值必須在0和9之間。 默認是7。
--version-light (打開輕量級模式)
這是 --version-intensity 2的方便的別名。輕量級模式使版本掃描快許多,但它識別服務的可能性也略微小一點。
--version-all (嘗試每個探測)
--version-intensity 9的別名,保證對每個端口嘗試每個探測報文。
--version-trace (跟蹤版本掃描活動)
這導致Nmap打印出詳細的關于正在進行的掃描的調試信息。 它是您用--packet-trace所得到的信息的子集。
-sR (RPC掃描,作為版本掃描(-sV)的一部分自動打開。)
操作系統探測
采用下列選項啟用和控制操作系統檢測:
-O (啟用操作系統檢測) 也可以使用-A來同時啟用操作系統檢測和版本檢測。
--osscan-limit (針對指定的目標進行操作系統檢測)
如果發現一個打開和關閉的TCP端口時,操作系統檢測會更有效。 采用這個選項,Nmap只對滿足這個條件的主機進行操作系統檢測,這樣可以節約時間,特別在使用-P0掃描多個主機時。這個選項僅在使用 -O或-A 進行操作系統檢測時起作用。
--osscan-guess; --fuzzy (推測操作系統檢測結果)
時間和性能
改善掃描時間的技術有:忽略非關鍵的檢測、升級最新版本的Nmap(性能增強不斷改善)。 優化時間參數也會帶來實質性的變化,這些參數如下。
--min-hostgroup?; --max-hostgroup?(調整并行掃描組的大小)
Nmap具有并行掃描多主機端口或版本的能力,Nmap將多個目標IP地址空間分成組,然后在同一時間對一個組進行掃描。通常,大的組更有效。缺點是只有當整個組掃描結束后才會提供主機的掃描結果。
--min-parallelism?; --max-parallelism?(調整探測報文的并行度)
最常見的應用是--min-parallelism值大于1,以加快性能不佳的主機或網絡的掃描。這個選項具有風險,如果過高則影響準確度,同時也會降低Nmap基于網絡條件動態控制并行度的能力。這個值設為10較為合適。
--max-parallelism選項通常設為1,以防止Nmap在同一時間向主機發送多個探測報文,和選擇--scan-delay同時使用非常有用,雖然 這個選項本身的用途已經很好。
--min-rtt-timeout?(這個選項很少使用)
--max-rtt-timeout?, --initial-rtt-timeout?(調整探測報文超時響應時間,隨后會放棄或重新 發送探測報文。)
這些選項以毫秒為單位,采用小的--max-rtt-timeout值,使 --initial-rtt-timeout值大于默認值可以明顯減少掃描時間,特別是對不能ping通的掃描(-P0)以及具有嚴格過濾的網絡。如果使用太小的值,使得很多探測報文超時從而重新發送,而此時可能響應消息正在發送,這使得整個掃描的時間會增加。
如果所有的主機都在本地網絡,對于--max-rtt-timeout值來說,100毫秒比較合適。如果存在路由,首先使用ICMP ping工具ping主機,或使用其它報文工具如hpings,可以更好地穿透防火墻。查看大約10個包的最大往返時間,然后將 --initial-rtt-timeout設成這個時間的2倍,--max-rtt-timeout 可設成這個時間值的3倍或4倍。通常,不管ping的時間是多少,最大的rtt值不得小于100ms,不能超過1000ms。
--host-timeout?(放棄低速目標主機)
--scan-delay?; --max-scan-delay?(調整探測報文的時間間隔)
這個選項用于Nmap控制針對一個主機發送探測報文的等待時間(毫秒),在帶寬控制的情況下這個選項非常有效。Solaris主機在響應UDP掃描探測報文時,每秒只發送一個ICMP消息,因此Nmap發送的很多數探測報文是浪費的。--scan-delay 設為1000,使Nmap低速運行。
--scan-delay的另一個用途是躲閉基于閾值的入侵檢測和預防系統(IDS/IPS)。
-T <Paranoid|Sneaky|Polite|Normal|Aggressive|Insane> (設置時間模板)
Nmap提供了一些簡單的方法,使用6個時間模板,使用時采用-T選項及數字(0 - 5) 或名稱。模板名稱有paranoid (0)、sneaky (1)、polite (2)、normal(3)、 aggressive (4)和insane (5)。前兩種模式用于IDS躲避,Polite模式降低了掃描速度以使用更少的帶寬和目標主機資源。默認模式為Normal,因此-T3 實際上是未做任何優化。Aggressive模式假設用戶具有合適及可靠的網絡從而加速掃描。Insane模式假設用戶具有特別快的網絡或者愿意為獲得速度而犧牲準確性。
用戶可以根據自己的需要選擇不同的模板,由Nmap負責選擇實際的時間值。模板也會針對其它的優化控制選項進行速度微調。例如,-T4 針對TCP端口禁止動態掃描延遲超過10ms,-T5對應的值為5ms。
建議在掃描可靠的網絡時使用-T4,默認時間選項(-T3)很少有主機崩潰和帶寬問題,比較適合于謹慎的用戶。不進行版本檢測比進行時間調整能更有效地解決這些問題。
雖然-T0和-T1選項可能有助于避免IDS告警,但在進行上千個主機或端口掃描時,會顯著增加時間。對于這種長時間的掃描,寧可設定確切的時間值,而不要去依賴封裝的-T0和-T1選項。
T0選項的主要影響是對于連續掃描,在一個時間只能掃描一個端口,每個探測報文的發送間隔為5分鐘。
T1和T2選項比較類似,探測報文間隔分別為15秒和0.4秒。T3是Nmap的默認選項,包含了并行掃描。
T4選項與 --max-rtt-timeout 1250 --initial-rtt-timeout 500 等價,最大TCP掃描延遲為10ms。
T5等價于 --max-rtt-timeout 300 --min-rtt-timeout 50 --initial-rtt-timeout 250 --host-timeout 900000,最大TCP掃描延遲為5ms。
防火墻/IDS躲避和哄騙
-f (報文分段) --mtu?:片段數據包(可選地w /給定MTU)
-D <decoy1,decoy2 [,ME],...>:使用誘餌隱蔽掃描
-S <IP_Address>:源地址哄騙
-e?:使用指定的接口
-g?/ - source-port?:源源端口哄騙,使用給定的端口號
--data-length?:(發送報文時附加隨機數據)將隨機數據附加到發送的數據包
--ttl?:(設置IP time-to-live域)設置IP生存時間字段
--randomize-hosts (對目標主機的順序隨機排列)
--spoof-mac <mac地址,前綴或供應商名稱>:欺騙您的MAC地址
要求Nmap在發送原以太網幀時使用指定的MAC地址,這個選項隱含了 --send-eth選項,以保證Nmap真正發送以太網包。
Nmap輸出格式
-oN?(標準輸出),要求將標準輸出直接寫入指定的文件。如上所述,這個格式與交互式輸出略有不同。
-oX?(XML輸出)
XML輸出引用了一個XSL樣式表,用于格式化輸出結果,類似于 HTML。最方便的方法是將XML輸出加載到一個Web瀏覽器,如Firefox 或IE。由于nmap.xsl文件的絕對路徑,因此通常只能在運行了Nmap的機器上工作(或類似配置的機器)。 類似于任何支持Web機器的HTML文件
--stylesheet 選項可用于建立可移植的XML文件。
-oS?(ScRipT KIdd|3 oUTpuT) 腳本小子輸出類似于交互工具輸出
-oG?(Grep輸出)
-oA (輸出至所有格式) 以三種主要格式輸出
為使用方便,利用-oA選項 可將掃描結果以標準格式、XML格式和Grep格式一次性輸出。分別存放在.nmap,.xml和 .gnmap文件中。也可以在文件名前指定目錄名,如在UNIX中,使用~/nmaplogs/foocorp/, 在Window中,使用c:\hacking\scoonWindows。
細節和調試選項
--packet-trace:顯示發送和接收的所有數據包
-v (提高輸出信息的詳細度) 這個選項使用兩次,會提供更詳細的信息。
-d [level] (提高或設置調試級別,最高級別-d9,輸出更多的細節)
--packet-trace (跟蹤發送和接收的報文)
要求Nmap打印發送和接收的每個報文的摘要,通常用于調試。為避免輸出過多的行,可以限制掃描的端口數,如-p20-30。 如果只需進行版本檢測,使用--version-trace。
--iflist:打印主機接口列表和系統路由(用于調試)
其它輸出選項
--append-output (在輸出文件中添加,附加到而不是clobber指定的輸出文件)
當使用文件作為輸出格式,如-oX或-oN, 默認該文件被覆蓋。如果希望文件保留現有內容,將結果添加在現有文件后面,使用--append-output選項。所有指定的輸出文件都被添加。但對于XML(-oX)掃描輸出 文件無效,無法正常解析,需要手工修改。
--resume < logfilename > (繼續中斷的掃描)
當中斷時,如果標準掃描 (-oN)或Grep掃描(-oG)日志 被保留,用戶可以要求Nmap恢復終止的掃描,使用選項 --resume并說明標準/Grep掃描輸出文件,不允許使用其它參數,Nmap會解析輸出文件并使用原來的格式輸出。
使用方式 如nmap --resume?。 Nmap將把新地結果添加到文件中,這種方式不支持XML輸出格式,原因是將兩次運行結果合并至一個XML文件比較困難。
--stylesheet <path / URL>:XSL樣式表將XML輸出轉換為HTML
--no-stylesheet:防止Nmap關聯XSL樣式表w / XML輸出 MISC: (忽略XML聲明的XSL樣式表,使用該選項禁止Nmap的XML輸出關聯任何XSL樣式表。 xml-stylesheet指示被忽略。)
其它選項
-6:啟用IPv6掃描
-A:這個選項啟用額外的高級和高強度選項,目前啟用操作系統檢測(-O)和版本檢測(-sV)
--datadir?:指定自定義Nmap數據文件位置
--send-eth / - send-ip:使用原始以太網幀發送數據包或IP數據包
--privileged:假定用戶完全權限
-V;--version:打印版本號
-h;--help:打印此幫助摘要頁面。