定時(shí)選項(xiàng)
雖然nmap在一般情況下都能夠很好地在運(yùn)行時(shí)間里盡可能迅速地完成掃描任務(wù),但偶爾還是會(huì)有一些主機(jī)/端口無(wú)法偵測(cè),這可能是nmap默認(rèn)的時(shí)間策略和你的目標(biāo)不太一致(相當(dāng)于timeout的設(shè)定),下面就是一些選項(xiàng)能對(duì)掃描的時(shí)間進(jìn)行控制:
-T
這是一個(gè)可以用來(lái)便利地表達(dá)nmap時(shí)間策略優(yōu)先權(quán)的參數(shù)設(shè)置。Paranoid模式用極慢的速度來(lái)掃描以避免被數(shù)字記錄系統(tǒng)記錄。它使掃描連續(xù)而不是并發(fā)而且通常等待至少五分鐘才發(fā)送一個(gè)信息包。Sneaky也是類似的,只是它是每15秒發(fā)送一個(gè)信息包。Polite模式是用來(lái)減輕網(wǎng)絡(luò)負(fù)載以減少當(dāng)機(jī)的可能性,它是連續(xù)發(fā)送探針并在兩個(gè)包的間隙等待0.4秒。Normal是nmap的常規(guī)用法,是盡其所能地快速掃描——除非主機(jī)或端口連接丟失。Aggressive模式是對(duì)每臺(tái)主機(jī)設(shè)定了五分鐘的timeout,并且等待每個(gè)探針應(yīng)答不超過1.25秒。Insane模式是適應(yīng)非常快的網(wǎng)絡(luò)或者你不在乎丟失一些信息——因?yàn)樘?它的timeout設(shè)定于75秒并且只等待回應(yīng)0.3秒,它允許對(duì)一個(gè)很快的網(wǎng)絡(luò)系統(tǒng)進(jìn)行“掃蕩”:),你也可以用數(shù)字(0-5)來(lái)代表參數(shù),比如'-t 0'表示Paranoid而'-t 5'代表Insane模式。注意,這些時(shí)間設(shè)定無(wú)法在底層的控制中聯(lián)合使用。(NOT be used in combination with the lower level controls given below.)
--host_timeout
具體指定nmap對(duì)某個(gè)IP的掃描時(shí)間總量,超過則作不通處理,默認(rèn)是不做設(shè)定。
--max_rtt_timeout
指定nmap對(duì)一個(gè)探針從遠(yuǎn)程端返回回應(yīng)的最大時(shí)間,默認(rèn)是9000。
--initial_rtt_timeout
指定最初探針的timeout時(shí)間,這通常在用-P0掃描有防火墻保護(hù)的主機(jī)時(shí)很有效,nmap會(huì)通過ping得到一個(gè)好的RTT評(píng)估以及最初少數(shù)的探針。默認(rèn)值為6000。
--max_parallelism
指定nmap允許的最大并行掃描數(shù)目,設(shè)定為1表明nmap每次只掃描個(gè)端口,它同樣會(huì)對(duì)其它掃描如ping sweep, RPC scan等產(chǎn)生影響。
--scan_delay
指定nmap必須等待的兩個(gè)探針間的最小的時(shí)間。這是減少網(wǎng)絡(luò)負(fù)載及使掃描在綜合數(shù)據(jù)存儲(chǔ)的記錄下不那么顯眼的辦法。
|
目標(biāo)說(shuō)明
所有不帶參數(shù)的選項(xiàng)都會(huì)被視為是nmap的目標(biāo)主機(jī)描述。最簡(jiǎn)單的實(shí)例是僅僅在命令行列出單一的主機(jī)名或IP地址。如果你希望掃描一個(gè)IP地址的子網(wǎng),你可以在主機(jī)名和IP地址中加入'/mask'。mask必需是在0(掃描整個(gè)網(wǎng)絡(luò))和32(特定的單一主機(jī))。用/24則表明掃找一個(gè)C類地址,而/16則是掃描B類
nmap還有一些更有用的符號(hào)說(shuō)明方式可以讓你用list/ranges來(lái)為每個(gè)元素指定IP地址。比如你要掃描B類網(wǎng)址128.210.*.*,則可以用'128.210.*.*'或'128.210.0-255.0-255'或者甚至是'128.210.1-50,51-255.1,2,3,4,5-255'來(lái)表示。當(dāng)然你也可以用上面提過的mask來(lái)表示:'128.210.0.0/16'。所有這些都是等價(jià)的,當(dāng)你用'*'的時(shí)候記住多數(shù)的shell都要求用定界符比如引號(hào)將其標(biāo)注。
另一個(gè)有趣的是你可以用其它方法將整個(gè)網(wǎng)絡(luò)“分割”,比如你可以用'*.*.5.6-7'來(lái)掃描所有以.5.6或 .5.7結(jié)束的IP地址。要得到更多信息,你可以看看示例節(jié)。
掃描范例
這里是一些運(yùn)用nmap的掃描范例,從最簡(jiǎn)單普通的到有一些復(fù)雜的例子都有。注意這里有真實(shí)的數(shù)字以及一些真實(shí)的域名——這樣可以讓掃描行為看起來(lái)更具體。在這里你可以用自己的網(wǎng)絡(luò)里的名稱代替其中的addresses/names。雖然端口掃描的結(jié)果分析可能會(huì)使某些人容易攻擊,但我不認(rèn)為它是不合法的,我曾經(jīng)掃描過成百上千的機(jī)器但只收到一次抱怨。但我不是律師而一些(anal)人們對(duì)nmap探測(cè)覺得煩惱,所以最好在取得允許后掃描或者——冒險(xiǎn),后果由你自己承擔(dān)。
nmap -v www.hackervip.com
這樣對(duì)target.example.com上所有的保留TCP端口做了一次掃描,-v表示用詳細(xì)模式。
nmap -sS -O www.hackervip.com/24
這將開始一次SYN的半開掃描,針對(duì)的目標(biāo)是target.example.com所在的C類子網(wǎng),它還試圖確定在其上運(yùn)行的是什么系統(tǒng)。這需要root權(quán)限,因?yàn)橛玫搅税腴_掃描以及系統(tǒng)偵測(cè)。
nmap -sX -p 22,53,110,143,4564 128.210.*.1-127
發(fā)送一個(gè)Xmas tree掃描到B類128.210所在子網(wǎng)的一半范圍內(nèi),我們將檢測(cè)系統(tǒng)是否運(yùn)行sshd, DNS, pop3d, imapd, 或者端口4564。要注意由于微軟TCP堆棧的不完善,Xmas掃描將不能在其平臺(tái)上運(yùn)行成功,同樣的問題可能存在于CISCO, IRIX, HP/UX, 和BSDI。
nmap -v -p 80 '*.*.2.3-5'
這是定位一個(gè)網(wǎng)域(將整個(gè)網(wǎng)絡(luò)分隔成許多小部份)再進(jìn)行掃描的方式,這里掃描的是所有以.2.3,.2.4, 或.2.5結(jié)束的IP地址。如果你是ROOT的話也可以用-sS。同樣的你可以從127開始搜尋更多有趣的機(jī)器,你可以用'127-222'替代前面的星號(hào)——恕我直言,那個(gè)區(qū)域有著大量有趣的機(jī)器。
host -l chkh.com │ cut '-d ' -f 4 │ ./nmap -v -i -
做一個(gè)DNS zone transfer來(lái)尋找在company.com進(jìn)而的主機(jī)并且將IP地址送至nmap(feed the IP addresses to nmap)。這個(gè)命令是在我的GNU/Linux平臺(tái)下運(yùn)行的,你可能需要用不同的選項(xiàng)參數(shù)或者不同的操作系統(tǒng)。 |