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