天天看點

Linux 下使用nmap

Linux 下使用nmap

我的系統rhel5,這裡是核心版本

<a href="http://yuzeying.blog.51cto.com/attachment/200910/30/644976_1256890721TAPW.jpg"></a>

Nmap是在免費軟體基金會的GNU General Public License (GPL)下釋出

<a href="http://yuzeying.blog.51cto.com/attachment/200910/30/644976_1256890722O6g0.jpg"></a>

<a href="http://yuzeying.blog.51cto.com/attachment/200910/30/644976_1256890724p69Y.jpg"></a>

拷貝至tmp目錄下

[root@localhost ~]# rpm -q gcc

gcc-4.1.2-14.el5

[root@localhost ~]#

确定系統具備編譯能力

[root@localhost tmp]# tar jxf nmap-5.00.tar.bz2

解壓檔案

[root@localhost tmp]# cd nmap-5.00

[root@localhost nmap-5.00]#

進入目錄

[root@localhost nmap-5.00]# ./configure

編譯前準備

<a href="http://yuzeying.blog.51cto.com/attachment/200910/30/644976_1256890729qeNE.jpg"></a>

這個畫面倒是挺新奇的

哈哈

[root@localhost nmap-5.00]# make

<a href="http://yuzeying.blog.51cto.com/attachment/200910/30/644976_1256890733gtDZ.jpg"></a>

[root@localhost nmap-5.00]# make install

<a href="http://yuzeying.blog.51cto.com/attachment/200910/30/644976_1256890737sYh9.jpg"></a>

[root@localhost nmap-5.00]# man nmap

可以用man指令檢視一下

這裡可以看到的資訊太多了,在此僅給出幾個常用的中文介紹,

1.名稱

nmap-網絡探測和安全掃描工具

2.文法

nmap [Scan Type(s)] [Options]

3.描述

nmap是一個網絡探測和安全掃描程式,系統管理者和個人可以使用這個軟體掃描大型 的網絡,擷取那台主機正在運作以及提供什麼服務等資訊。nmap支援很多掃描技術,例如:UDP、TCP connect()、TCP SYN(半開掃描)、ftp代理(bounce攻擊)、反向标志、ICMP、FIN、ACK掃描、聖誕樹(Xmas Tree)、SYN掃描和null掃描。從掃描類型一節可以得到細節。nmap還提供了一些進階的特征,例如:通過TCP/IP協定棧特征探測作業系統類型,秘密掃描,動态延時和重傳計算,并行掃描,通過并行ping掃描探測關閉的主機,誘餌掃描,避開端口過濾檢測,直接RPC掃描(無須端口影射),碎片掃描,以及靈活的目标和端口設定。

為了提高nmap在non-root狀态下的性能,軟體的設計者付出了很大的努力。很不幸,一些核心界面(例如raw socket)需要在root狀态下使用。是以應該盡可能在root使用nmap。

nmap運作通常會得到被掃描主機端口的清單。nmap總會給出well known端口的服務名(如果可能)、端口号、狀态和協定等資訊。每個端口的狀态有:open、filtered、unfiltered。open狀态意味着目标主機能夠在這個端口使用accept()系統調用接受連接配接。filtered狀态表示:防火牆、包過濾和其它的網絡安全軟體掩蓋了這個端口,禁止 nmap探測其是否打開。unfiltered表示:這個端口關閉,并且沒有防火牆/包過濾軟體來隔離nmap的探測企圖。通常情況下,端口的狀态基本都 是unfiltered狀态,隻有在大多數被掃描的端口處于filtered狀态下,才會顯示處于unfiltered狀态的端口。

根據使用的功能選項,nmap也可以報告遠端主機的下列特征:使用的作業系統、TCP序列、運作綁定到每個端口上的應用程式的使用者名、DNS名、主機位址是否是欺騙位址、以及其它一些東西。

4.功能選項

功能選項可以組合使用。一些功能選項隻能夠在某種掃描模式下使用。nmap會自動識别無效或者不支援的功能選項組合,并向使用者發出警告資訊。

如果你是有經驗的使用者,可以略過結尾的示例一節。可以使用nmap -h快速列出功能選項的清單。

4.1 掃描類型

-sT 

TCP connect()掃描:這是最基本的TCP掃描方式。connect()是一種系統調用,由作業系統提供,用來打開一個連接配接。如果目标端口有程式監聽, connect()就會成功傳回,否則這個端口是不可達的。這項技術最大的優點是,你勿需root權限。任何UNIX使用者都可以自由使用這個系統調用。這 種掃描很容易被檢測到,在目标主機的日志中會記錄大批的連接配接請求以及錯誤資訊。

-sS 

TCP同步掃描(TCP SYN):因為不必全部打開一個TCP連接配接,是以這項技術通常稱為半開掃描(half-open)。你可以發出一個TCP同步包(SYN),然後等待回 應。如果對方傳回SYN|ACK(響應)包就表示目标端口正在監聽;如果傳回RST資料包,就表示目标端口沒有監聽程式;如果收到一個SYN|ACK包, 源主機就會馬上發出一個RST(複位)資料包斷開和目标主機的連接配接,這實際上有我們的作業系統核心自動完成的。這項技術最大的好處是,很少有系統能夠把這記入系統日志。不過,你需要root權限來定制SYN資料包。

一、TCP握手協定

在TCP/IP協定中,TCP協定提供可靠的連接配接服務,采用三次握手建立一個連接配接。

第一次握手:建立連接配接時,用戶端發送syn包(syn=j)到伺服器,并進入SYN_SEND狀态,等待伺服器确認;

第二次握手:伺服器收到syn包,必須确認客戶的SYN(ack=j+1),同時自己也發送一個SYN包(syn=k),即SYN+ACK包,此時伺服器進入SYN_RECV狀态;

第三次握手:用戶端收到伺服器的SYN+ACK包,向伺服器發送确認包ACK(ack=k+1),此包發送完畢,用戶端和伺服器進入ESTABLISHED狀态,完成三次握手。

完成三次握手,用戶端與伺服器開始傳送資料,在上述過程中,還有一些重要的概念:

未連接配接隊列:在三次握手協定中,伺服器維護一個未連接配接隊列,該隊列為每個用戶端的SYN包(syn=j)開設一個條目,該條目表明伺服器已收到SYN包,并向客戶發出确認,正在等待客戶的确認包。這些條目所辨別的連接配接在伺服器處于Syn_RECV狀态,當伺服器收到客戶的确認包時,删除該條目,伺服器進入ESTABLISHED狀态。

Backlog參數:表示未連接配接隊列的最大容納數目。

SYN-ACK 重傳次數 伺服器發送完SYN-ACK包,如果未收到客戶确認包,伺服器進行首次重傳,等待一段時間仍未收到客戶确認包,進行第二次重傳,如果重傳次數超過系統規定的最大重傳次數,系統将該連接配接資訊從半連接配接隊列中删除。注意,每次重傳等待的時間不一定相同。

半連接配接存活時間:是指半連接配接隊列的條目存活的最長時間,也即服務從收到SYN包到确認這個封包無效的最長時間,該時間值是所有重傳請求包的最長等待時間總和。有時我們也稱半連接配接存活時間為Timeout時間、SYN_RECV存活時間。

-sF -sF -sN 

 秘密FIN資料包掃描、聖誕樹(Xmas Tree)、空(Null)掃描模式:即使SYN掃描都無法确定的情況下使用。一些防火牆和包過濾軟體能夠對發送到被限制端口的SYN資料包進行監視,而 且有些程式比如synlogger和courtney能夠檢測那些掃描。這些進階的掃描方式可以逃過這些幹擾。這些掃描方式的理論依據是:關閉的端口需要 對你的探測包回應RST包,而打開的端口必需忽略有問題的包(參考RFC 793第64頁)。FIN掃描使用暴露的FIN資料包來探測,而聖誕樹掃描打開資料包的FIN、URG和PUSH标志。不幸的是,微軟決定完全忽略這個标準,另起爐竈。是以這種掃描方式對Windows95/NT無效。不過,從另外的角度講,可以使用這種方式來分别兩種不同的平台。如果使用這種掃描方式可以發現打開的端口,你就可以确定目标注意運作的不是Windows系統。如果使用-sF、-sX或者-sN掃描顯示所有的端口都是關閉的,而使用SYN掃 描顯示有打開的端口,你可以确定目标主機可能運作的是Windwos系統。現在這種方式沒有什麼太大的用處,因為nmap有内嵌的作業系統檢測功能。還有 其它幾個系統使用和windows同樣的處理方式,包括Cisco、BSDI、HP/UX、MYS、IRIX。在應該抛棄資料包時,以上這些系統都會從打 開的端口發出複位資料包。 

-sP 

ping掃描:有時你隻是想知道此時網絡上哪些主機正在運作。通過向你指定的網絡内的每個IP地 址發送ICMP echo請求資料包,nmap就可以完成這項任務。如果主機正在運作就會作出響應。不幸的是,一些站點例如:microsoft.com阻塞ICMP echo請求資料包。然而,在預設的情況下nmap也能夠向80端口發送TCP ack包,如果你收到一個RST包,就表示主機正在運作。nmap使用的第三種技術是:發送一個SYN包,然後等待一個RST或者SYN/ACK包。對于非root使用者,nmap使用connect()方法。 

 在預設的情況下(root使用者),nmap并行使用ICMP和ACK技術。 

 注意,nmap在任何情況下都會進行ping掃描,隻有目标主機處于運作狀态,才會進行後續的掃描。如果你隻是想知道目标主機是否運作,而不想進行其它掃描,才會用到這個選項。 

-sU 

UDP掃描:如果你想知道在某台主機上提供哪些UDP(使用者資料報協定,RFC768)服務,可以使用這種掃描方法。nmap首先向目标主機的每個端口發出一個0位元組的UDP包,如果我們收到端口不可達的ICMP消息,端口就是關閉的,否則我們就假設它是打開的。 

 有些人可能會想UDP掃描是沒有什麼意思的。但是,我經常會想到最近出現的solaris rpcbind缺陷。rpcbind隐藏在一個未公開的UDP端口上,這個端口号大于32770。是以即使端口111(portmap的衆所周知端口号) 被防火牆阻塞有關系。但是你能發現大于30000的哪個端口上有程式正在監聽嗎?使用UDP掃描就能!cDc Back Orifice的後門程式就隐藏在Windows主機的一個可配置的UDP端口中。不考慮一些通常的安全缺陷,一些服務例如:snmp、tftp、NFS 使用UDP協定。不幸的是,UDP掃描有時非常緩慢,因為大多數主機限制ICMP錯誤資訊的比例(在RFC1812中的建議)。例如,在Linux核心中 (在net/ipv4/icmp.h檔案中)限制每4秒鐘隻能出現80條目标不可達的ICMP消息,如果超過這個比例,就會給1/4秒鐘的處罰。 solaris的限制更加嚴格,每秒鐘隻允許出現大約2條ICMP不可達消息,這樣,使掃描更加緩慢。nmap會檢測這個限制的比例,減緩發送速度,而不 是發送大量的将被目标主機丢棄的無用資料包。 

 不過Micro$oft忽略了RFC1812的這個建議,不對這個比例做任何的限制。是以我們可以能夠快速掃描運作Win95/NT的主機上的所有65K個端口。 

-sA 

ACK掃描:這項進階的掃描方法通常用來穿過防火牆的規則集。通常情況下,這有助于确定一個防火牆是功能比較完善的或者是一個簡單的包過濾程式,隻是阻塞進入的SYN包。 

 這種掃描是向特定的端口發送ACK包(使用随機的應答/序列号)。如果傳回一個RST包,這個端口就标記為unfiltered狀态。如果什麼都沒有返 回,或者傳回一個不可達ICMP消息,這個端口就歸入filtered類。注意,nmap通常不輸出unfiltered的端口,是以在輸出中通常不顯示 所有被探測的端口。顯然,這種掃描方式不能找出處于打開狀态的端口。 

-sW 

 對滑動視窗的掃描:這項進階掃描技術非常類似于ACK 掃描,除了它有時可以檢測到處于打開狀态的端口,因為滑動視窗的大小是不規則的,有些作業系統可以報告其大小。這些系統至少包括:某些版本的AIX、 Amiga、BeOS、BSDI、Cray、Tru64 UNIX、DG/UX、OpenVMS、Digital UNIX、OpenBSD、OpenStep、QNX、Rhapsody、SunOS 4.x、Ultrix、VAX、VXWORKS。從nmap-hackers郵件3清單的文檔中可以得到完整的清單。 

-sR 

RPC掃描。這種方法和nmap的其它不同的端口掃描方法結合使用。選擇所有處于打開狀态的端口向它們發出SunRPC程式的NULL指令,以确定它們是 否是RPC端口,如果是,就确定是哪種軟體及其版本号。是以你能夠獲得防火牆的一些資訊。誘餌掃描現在還不能和RPC掃描結合使用。 

-b 

FTP反彈攻擊(bounce attack):FTP協定(RFC 959)有一個很有意思的特征,它支援代理FTP連接配接。也就是說,我能夠從evil.com連接配接到FTP伺服器target.com,并且可以要求這台 FTP伺服器為自己發送Internet上任何地方的檔案!1985年,RFC959完成時,這個特征就能很好地工作了。然而,在今天的Internet 中,我們不能讓人們劫持FTP伺服器,讓它向Internet上的任意節點發送資料。如同Hobbit在1995年寫的文章中所說的,這個協定"能夠用來 做投遞虛拟的不可達郵件和新聞,進入各種站點的伺服器,填滿硬碟,跳過防火牆,以及其它的騷擾活動,而且很難進行追蹤"。我們可以使用這個特征,在一台代理FTP伺服器掃描TCP端口。是以,你需要連接配接到防火牆後面的一台FTP伺服器,接着進行端口掃描。如果在這台FTP伺服器中有可讀寫的目錄,你還可以向目标端口任意發送資料(不過nmap不能為你做這些)。 

 傳遞給-b功能選項的參數是你要作為代理的FTP伺服器。文法格式為: 

-b username:password@server:port。 

 除了server以外,其餘都是可選的。如果你想知道什麼伺服器有這種缺陷,可以參考我在Phrack 51發表的文章。還可以在nmap的站點得到這篇文章的最新版本。

4.2 通用選項

這些内容不是必需的,但是很有用。

-P0 

 在掃描之前,不必ping主機。有些網絡的防火牆不允許ICMP echo請求穿過,使用這個選項可以對這些網絡進行掃描。microsoft.com就是一個例子,是以在掃描這個站點時,你應該一直使用-P0或者-PT 80選項。 

-PT 

 掃描之前,使用TCP ping确定哪些主機正在運作。nmap不是通過發送ICMP echo請求包然後等待響應來實作這種功能,而是向目标網絡(或者單一主機)發出TCP ACK包然後等待回應。如果主機正在運作就會傳回RST包。隻有在目标網絡/主機阻塞了ping包,而仍舊允許你對其進行掃描時,這個選項才有效。對于非 root使用者,我們使用connect()系統調用來實作這項功能。使用-PT &lt;端口号&gt;來設定目标端口。預設的端口号是80,因為這個端口通常不會被過濾。 

-PS 

 對于root使用者,這個選項讓nmap使用SYN包而不是ACK包來對目标主機進行掃描。如果主機正在運作就傳回一個RST包(或者一個SYN/ACK包)。 

-PI 

 設定這個選項,讓nmap使用真正的ping(ICMP echo請求)來掃描目标主機是否正在運作。使用這個選項讓nmap發現正在運作的主機的同時,nmap也會對你的直接子網廣播位址進行觀察。直接子網廣 播位址一些外部可達的IP位址,把外部的包轉換為一個内向的IP廣播包,向一個計算機子網發送。這些IP廣播包應該删除,因為會造成拒絕服務攻擊(例如 smurf)。 

-PB 

 這是預設的ping掃描選項。它使用ACK(-PT)和ICMP(-PI)兩種掃描類型并行掃描。如果防火牆能夠過濾其中一種包,使用這種方法,你就能夠穿過防火牆。 

-O 

 這個選項激活對TCP/IP指紋特征(fingerprinting)的掃描,獲得遠端主機的标志。換句話說,nmap使用一些技術檢測目标主機操作系 統網絡協定棧的特征。nmap使用這些資訊建立遠端主機的指紋特征,把它和已知的作業系統指紋特征資料庫做比較,就可以知道目标主機作業系統的類型。

<a href="http://yuzeying.blog.51cto.com/attachment/200910/30/644976_1256890747g9Rh.jpg"></a>

這是台windowsxp系統的計算機,并且已經關閉了防火牆

鑒于軟體版本,高版本的系統顯示可能略有差别

-I 

 這個選項打開nmap的反向标志掃描功能。Dave Goldsmith 1996年向bugtap發出的郵件注意到這個協定,ident協定(rfc 1413)允許使用TCP連接配接給出任何程序擁有者的使用者名,即使這個程序并沒有初始化連接配接。例如,你可以連接配接到HTTP端口,接着使用identd确定這 個伺服器是否由root使用者運作。這種掃描隻能在同目标端口建立完全的TCP連接配接時(例如:-sT掃描選項)才能成功。使用-I選項是,遠端主機的 identd精靈程序就會查詢在每個打開的端口上監聽的程序的擁有者。顯然,如果遠端主機沒有運作identd程式,這種掃描方法無效。 

-f 

 這個選項使nmap使用碎片IP資料包發送SYN、FIN、XMAS、NULL。使用碎片資料包增加包過濾、入侵檢測系統的難度,使其無法知道你的企 圖。不過,要慎重使用這個選項!有些程式在處理這些碎片包時會有麻煩,我最喜歡的嗅探器在接受到碎片包的頭36個位元組時,就會發生 segmentation faulted。是以,在nmap中使用了24個位元組的碎片資料包。雖然包過濾器和防火牆不能防這種方法,但是有很多網絡出于性能上的考慮,禁止資料包的分片。 

 注意這個選項不能在所有的平台上使用。它在Linux、FreeBSD、OpenBSD以及其它一些UNIX系統能夠很好工作。 

-v 

 備援模式。強烈推薦使用這個選項,它會給出掃描過程中的詳細資訊。使用這個選項,你可以得到事半功倍的效果。使用-d選項可以得到更加詳細的資訊。 

-h 

 快速參考選項。 

-oN 

 把掃描結果重定向到一個可讀的檔案logfilename中。 

-oM 

 把掃描結果重定向到logfilename檔案中,這個檔案使用主機可以解析的文法。你可以使用-oM -來代替logfilename,這樣輸出就被重定向到标準輸出stdout。在這種情況下,正常的輸出将被覆寫,錯誤資訊荏苒可以輸出到标準錯誤 stderr。要注意,如果同時使用了-v選項,在螢幕上會列印出其它的資訊。 

-oS thIs l0gz th3 r3suLtS of YouR ScanZ iN a s| THe fiL3 U sPecfy 4s an arGuMEnT! U kAn gIv3 the 4rgument - 

(wItHOUt qUOteZ) to sh00t output iNT0 stDouT!@!! 莫名其妙,下面是我猜着翻譯的,相形字? 

 把掃描結果重定向到一個檔案logfilename中,這個檔案使用一種"黑客方言"的文法形式(作者開的玩笑?)。同樣,使用-oS -就會把結果重定向到标準輸出上。 

-resume 

 某個網絡掃描可能由于control-C或者網絡損失等原因被中斷,使用這個選項可以使掃描接着以前的掃描進行。logfilename是被取消掃描的 日志檔案,它必須是可讀形式或者機器可以解析的形式。而且接着進行的掃描不能增加新的選項,隻能使用與被中斷的掃描相同的選項。nmap會接着日志檔案中 的最後一次成功掃描進行新的掃描。 

-iL 

 從inputfilename檔案中讀取掃描的目标。在這個檔案中要有一個主機或者網絡的清單,由空格鍵、制表鍵或者Enter鍵作為分割符。如果使用-iL -,nmap就會從标準輸入stdin讀取主機名字。你可以從指定目标一節得到更加詳細的資訊。 

-iR 

 讓nmap自己随機挑選主機進行掃描。 

-p &lt;端口範圍&gt; 

 這個選項讓你選擇要進行掃描的端口号的範圍。例如,-p 23表示:隻掃描目标主機的23号端口。-p 20-30,139,60000-表示:掃描20到30号端口,139号端口以及所有大于60000的端口。在預設情況下,nmap掃描從1到1024号 以及nmap-services檔案(如果使用RPM軟體包,一般在/usr/share/nmap/目錄中)中定義的端口清單。 

-F 

 快速掃描模式,隻掃描在nmap-services檔案中列出的端口。顯然比掃描所有65535個端口要快。 

-D 

 使用誘餌掃描方法對目标網絡/主機進行掃描。如果nmap使用這種方法對目标網絡進行掃描,那麼從目标主機/網絡的角度來看,掃描就象從其它主機 (decoy1,等)發出的。進而,即使目标主機的IDS(入侵檢測系統)對端口掃描發出報警,它們也不可能知道哪個是真正發起掃描的位址,哪個是無辜 的。這種掃描方法可以有效地對付例如路由跟蹤、response-dropping等積極的防禦機制,能夠很好地隐藏你的IP位址。 

 每個誘餌 主機名使用逗号分割開,你也可以使用ME選項,它代表你自己的主機,和誘餌主機名混雜在一起。如果你把ME放在第六或者更靠後的位置,一些端口掃描檢測軟 件幾乎根本不會顯示你的IP位址。如果你不使用ME選項,nmap會把你的IP位址随機夾雜在誘餌主機之中。 

 注意:你用來作為誘餌的主機應該 正在運作或者你隻是偶爾向目标發送SYN資料包。很顯然,如果在網絡上隻有一台主機運作,目标将很輕松就會确定是哪台主機進行的掃描。或許,你還要直接使 用誘餌的IP位址而不是其域名,這樣誘餌網絡的域名伺服器的日志上就不會留下關于你的記錄。 

 還要注意:一些愚蠢的端口掃描檢測軟體會拒絕路由試圖進行端口掃描的主機。因而,你需要讓目标主機和一些誘餌斷開連接配接。如果誘餌是目标主機的網關或者就是其自己時,會給目标主機造成很大問題。是以你需要慎重使用這個選項。 

 誘餌掃描既可以在起始的ping掃描也可以在真正的掃描狀态下使用。它也可以和-O選項組合使用。 

 使用太多的誘餌掃描能夠減緩你的掃描速度甚至可能造成掃描結果不正确。同時,有些ISP會把你的欺騙包過濾掉。雖然現在大多數的ISP不會對此進行限制。 

-S &lt;IP_Address&gt; 

 在一些情況下,nmap可能無法确定你的源位址(nmap會告訴你)。在這種情況下,可以使用這個選項給出你的IP位址。 

 在欺騙掃描時,也使用這個選項。使用這個選項可以讓目标認為是其它的主機對自己進行掃描。 

-e 

 告訴nmap使用哪個接口發送和接受資料包。nmap能夠自動對此接口進行檢測,如果無效就會告訴你。 

-g 

 設定掃描的源端口。一些天真的防火牆和包過濾器的規則集允許源端口為DNS(53)或者FTP-DATA(20)的包通過和實作連接配接。顯然,如果攻擊者 把源端口修改為20或者53,就可以摧毀防火牆的防護。在使用UDP掃描時,先使用53号端口;使用TCP掃描時,先使用20号端口。注意隻有在能夠使用這個端口進行掃描時,nmap才會使用這個端口。例如,如果你無法進行TCP掃描,nmap會自動改變源端口,即使你使用了-g選項。 

 對于一些掃描,使用這個選項會造成性能上的微小損失,因為我有時會儲存關于特定源端口的一些有用的資訊。 

-r 

 告訴nmap不要打亂被掃描端口的順序。 

--randomize_hosts 

 使nmap在掃描之前,打亂每組掃描中的主機順序,nmap每組可以掃描最多2048台主機。這樣,可以使掃描更不容易被網絡螢幕發現,尤其和--scan_delay 選項組合使用,更能有效避免被發現。 

-M 

 設定進行TCP connect()掃描時,最多使用多少個套接字進行并行的掃描。使用這個選項可以降低掃描速度,避免遠端目标當機。

4.3 适時選項

通常,nmap在運作時,能夠很好地根據網絡特點進行調整。掃描時,nmap會盡量減少被目标檢測到的機會,同時盡可能加快掃描速度。然而,nmap預設的适時政策有時候不太适合你的目标。使用下面這些選項,可以控制nmap的掃描timing:

-T 

 設定nmap的适時政策。Paranoid:為了避開IDS的檢測使掃 描速度極慢,nmap串行所有的掃描,每隔至少5分鐘發送一個包; Sneaky:也差不多,隻是資料包的發送間隔是15秒;Polite:不增加太大的網絡負載,避免宕掉目标主機,串行每個探測,并且使每個探測有0.4 秒種的間隔;Normal:nmap預設的選項,在不是網絡過載或者主機/端口丢失的情況下盡可能快速地掃描;Aggressive:設定5分鐘的逾時限 制,使對每台主機的掃描時間不超過5分鐘,并且使對每次探測回應的等待時間不超過1.5秒鐘;b&amp;gt;Insane:隻适合快速的網絡或者你不在意丢失 某些資訊,每台主機的逾時限制是75秒,對每次探測隻等待0.3秒鐘。你也可是使用數字來代替這些模式,例如:-T 0等于-T Paranoid,-T 5等于-T Insane。 

 這些适時模式不能下面的适時選項組合使用。 

--host_timeout 

 設定掃描一台主機的時間,以毫秒為機關。預設的情況下,沒有逾時限制。 

--max_rtt_timeout 

 設定對每次探測的等待時間,以毫秒為機關。如果超過這個時間限制就重傳或者逾時。預設值是大約9000毫秒。 

--min_rtt_timeout 

 當目标主機的響應很快時,nmap就縮短每次探測的逾時時間。這樣會提高掃描的速度,但是可能丢失某些響應時間比較長的包。使用這個選項,可以讓nmap對每次探測至少等待你指定的時間,以毫秒為機關。 

--initial_rtt_timeout 

 設定初始探測的逾時值。一般這個選項隻在使用-P0選項掃描有防火牆保護的主機才有用。預設值是6000毫秒。 

--max_parallelism 

 設定最大的并行掃描數量。--max_parallelism 1表示同時隻掃描一個端口。這個選項對其它的并行掃描也有效,例如ping sweep, RPC scan。 

--scan_delay 

 設定在兩次探測之間,nmap必須等待的時間。這個選項主要用于降低網絡的負載。

4.4 目标設定

在nmap的所有參數中,隻有目标參數是必須給出的。其最簡單的形式是在指令行直接 輸入一個主機名或者一個IP位址。如果你希望掃描某個IP位址的一個子網,你可以在主機名或者IP位址的後面加上/掩碼。掩碼在0(掃描整個網絡)到 32(隻掃描這個主機)。使用/24掃描C類位址,/16掃描B類位址。

除此之外,nmap還有更加強大的表示方式讓你更加靈活地指定IP位址。例如,如果要掃描這個B類網絡128.210.*.*,你可以使用下面三種方式來指定這些位址:128.210.*.*、128.21-.0-255.0-255或 者128.210.0.0/16這三種形式是等價的。

5.例子

nmap -v target.example.com 

掃描主機target.example.com的所有TCP端口。-v打開備援模式。

<a href="http://yuzeying.blog.51cto.com/attachment/200910/30/644976_1256890749uPWf.jpg"></a>

原文連結及更多參考學習位址

<a href="http://linux.chinaunix.net/doc/safe/2005-01-30/1004.shtml">http://linux.chinaunix.net/doc/safe/2005-01-30/1004.shtml</a>

<a href="http://www.normb.net/archives/?article-10.html">http://www.normb.net/archives/?article-10.html</a>

本文轉自 yuzeying1 51CTO部落格,原文連結:http://blog.51cto.com/yuzeying/219008

繼續閱讀