這些選項并非必需的,但有些會非常實用。
-P0 在掃描前不嘗試或者PING主機,這是用來掃描那些不允許ICMP echo 請求(或應答)的主機。microsoft.com就是這其中的一個例子,我們就必須使用-P0或者-PT80來察看microsoft.com的端口。
-PT 用TCP的ping來確定主機是否打開。作為替代發(fā)送ICMP echo請求包并等待回應的方式,我們可以大量發(fā)送TCP ACK包往目標網(wǎng)絡(或者單機)并一點點地等待它的回應,打開的主機會返回一個RST。這一參數(shù)可以讓你在ping信息包阻塞時仍能高效率地掃描一個網(wǎng)絡/主機。對非root的用戶,我們用connect(),以如下格式設置目標探針-PT
-PS 這一選項是root用戶使用的,能用SYN(連接請求)包替代ACK包,打開的主機會有一個RST(或者SYN|ACK——但比較少見)應答。
-PI 這一選項是使用一個真正的ping(ICMP echo request)包。它找到開放的主機并且將該子網(wǎng)中的廣播地址全數(shù)搜尋——該廣播地址是能夠到達并能正確解析IP包的。如果其會被大量的DoS(denial of service)攻擊時,我們就能找到它。
-PB 默認的ping形式,它用于ACK(-PT)與ICMP(-PI)并行攻擊,以這一形式可以通過防火墻或包過濾。
-O 經(jīng)由TCP/IP獲取‘指紋’來判別主機的OS類型,用另一說法,就是用一連串的信息包探測出你所掃描的主機位于操作系統(tǒng)有關(guān)堆棧信息并區(qū)分其精細差別,以此判別操作系統(tǒng)。它用搜集到的信息建立一個“指紋”用來同已知的操作系統(tǒng)的指印相比較(the nmap-os-fingerprints file)——這樣判定操作系統(tǒng)就有了依據(jù)。如果你發(fā)現(xiàn)一臺機器開了至少一個端口并得到錯誤的診斷信息,那么你可以寫信告訴我相關(guān)細節(jié)比如操作系統(tǒng)版本或偵測到的操作系統(tǒng)版本圖,如果他有端口開放但nmap返回'不可識別的操作系統(tǒng)',這可能也是有用的,你可以將它的IP告訴我或者另一個辦法是用nmap的-d參數(shù)并告訴我它返回的“指印”——操作系統(tǒng)和版本號,這樣做,也算是對nmap在判定操作系統(tǒng)的進一步開發(fā)中做了些事情,以便后續(xù)版本中它能更精確地判別系統(tǒng)類型。
-I 這是用ident掃描方式的參數(shù),如Dave Goldsmith于1996年在Bugtraq中所說的,這個ident協(xié)議(rfc 1413)允許通過TCP連接得到擁有進程的用戶名——即使這個連接不是由該進程發(fā)起的。所以呢,舉個例吧,你可以通過ident連接到一個http端口并找出該進程是否由root運行,但這只能在“全開”的對目標端口的TCP連接中使用(象-sT掃描參數(shù))。當你用-I參數(shù)時,遠程主機的identd在開放的端口接受連接質(zhì)詢——很明顯的,如果主機不運行identd的話,那它就無法正常工作。
-f 這個參數(shù)配置以細小的IP碎片包實現(xiàn)SYN,F(xiàn)IN,XMAS或NULL掃描請求。這個想法是把TCP包頭分別放在幾個不同的信息包中,使包過濾器難于運作,而后你就可以闖入系統(tǒng)做你想做的事了。但要注意,部份程序可能會對這些小信息包處理錯誤。比方說我最喜歡的sniffer segmentation在接收第一個36字節(jié)的信息碎片時就出現(xiàn)麻煩,之后又來了個24字節(jié)的!當包過濾器和能將IP碎片排列的防火墻沒有獲得此順序時(就象linux內(nèi)核中的CON-FIG_IP_ALWAYS_DEFRAG選項),一些網(wǎng)絡系統(tǒng)就不能反映出找到目標,并且放棄。
記住這個參數(shù)不一定能很好地工作在任何系統(tǒng)上,它在我的Linux,FreeBSD以及OpenBSD下是正常的,當然也有一些人說它能在部份不同的*NIX環(huán)境下工作。
-v 詳細模式。這是被強烈推薦的選項,因為它能帶來你想要的更多信息。你可以重復使用它以獲得更大效果。如果你需要大量翻動屏幕請使用 -d 命令兩次
-h 這是一個快捷的幫助選項,可以在屏幕上顯示nmap的參數(shù)使用方法——象你注意到的那樣,這個man page實在不是一個“快速入門參考”:)
-o
-m 這也是存放掃描結(jié)果的參數(shù),但它是存放機器可解析(machine parseable)結(jié)果的,你可以用-m 帶'-'(引號不用)將其輸出到標準輸出里(用shell的管道符……)。在這種形式下,正常的輸出被禁止了,你需要察看一些錯誤信息來了解情況。
-i
-p
-F 快速掃描模式。指定只希望掃描nmap里提供的services file中列出的端口列表里的端口。這明顯會比掃描所有65535個端口來得快。
-D
-S
-e
-g
-M