它曾經(jīng)在電影《黑客帝國(guó)》中出現(xiàn)過(guò),是黑客和網(wǎng)絡(luò)安全人員經(jīng)常用到的工具.
nmap是一個(gè)開源免費(fèi)的網(wǎng)絡(luò)發(fā)現(xiàn)工具,通過(guò)它能夠找出網(wǎng)絡(luò)上在線的主機(jī),并測(cè)試主機(jī)上哪些端口處于監(jiān)聽狀態(tài),接著通過(guò)端口確定主機(jī)上運(yùn)行的應(yīng)用程序類型與版本信息,最后利用它還能偵測(cè)出操作系統(tǒng)的類型和版本。
一、nmap基本功能與結(jié)構(gòu)
主要有如下四個(gè)基本功能:
- 主機(jī)發(fā)現(xiàn)。
- 端口掃描。
- 應(yīng)用程序及版本偵測(cè)。
- 操作系統(tǒng)及版本偵測(cè)。
典型用法
namp 目標(biāo)主機(jī)
通過(guò)這個(gè)命令,可以確定目標(biāo)主機(jī)的在線情況和端口的監(jiān)聽狀態(tài),如圖:

其它用法
如果希望了解目標(biāo)主機(jī)更多的信息,可以通過(guò)完全掃描的方式實(shí)現(xiàn),nmap命令內(nèi)置了“-A”選項(xiàng),可以實(shí)現(xiàn)對(duì)目標(biāo)主機(jī)進(jìn)行主機(jī)發(fā)現(xiàn)、端口掃描、應(yīng)用程序與版本偵測(cè)、操作系統(tǒng)識(shí)別等完整全面的掃描,命令形式如下:
nmap -T4 -A -v 目標(biāo)主機(jī)
其中,
- “-A”選項(xiàng)用于開啟全面掃描;
- “-T4”指定掃描過(guò)程中使用的時(shí)序模板,總共有6個(gè)等級(jí)(0~5),等級(jí)越高,掃描速度越快,但也越容易被防火墻或者入侵檢測(cè)設(shè)備發(fā)現(xiàn)并屏蔽,所以選擇一個(gè)適當(dāng)?shù)膾呙璧燃?jí)非常重要,這里推薦使用“-T4”;
-
“-v”參數(shù)可顯示掃描細(xì)節(jié)。
image.png
nmap主機(jī)發(fā)現(xiàn)掃描
主機(jī)發(fā)現(xiàn)主要用來(lái)判斷目標(biāo)主機(jī)是否在線,其掃描原理類似于ping命令,通過(guò)發(fā)送探測(cè)數(shù)據(jù)包到目標(biāo)主機(jī),如果能收到回復(fù),那么認(rèn)為目標(biāo)主機(jī)處于在線狀態(tài)。nmap支持多種不同的主機(jī)探測(cè)方法,例如發(fā)送TCP SYN/ACK包、發(fā)送SCTP包、主機(jī)發(fā)現(xiàn)主要用來(lái)判斷目標(biāo)主機(jī)是否在線,其掃描原理類似于ping命令,通過(guò)發(fā)送探測(cè)數(shù)據(jù)包到目標(biāo)主機(jī),如果能收到回復(fù),那么認(rèn)為目標(biāo)主機(jī)處于在線狀態(tài)。nmap支持多種不同的主機(jī)探測(cè)方法,例如發(fā)送TCP SYN/ACK包、發(fā)送SCTP包、
nmap [選項(xiàng)或參數(shù)] 目標(biāo)主機(jī)

比較常用的是“-sn”和“-Pn”,例如,查看某個(gè)網(wǎng)段有哪些主機(jī)在線,就需要使用“-sn”選項(xiàng),而如果已經(jīng)知道了目標(biāo)主機(jī)在線,僅僅想掃描主機(jī)開放的端口時(shí),就需要用“-Pn”選項(xiàng)。
nmap端口掃描
端口掃描是nmap最核心的功能,通過(guò)端口掃描可以發(fā)現(xiàn)目標(biāo)主機(jī)上TCP、UDP端口的開放情況。nmap在默認(rèn)狀態(tài)下會(huì)掃描1000個(gè)最有可能開放的端口,并將偵測(cè)到的端口狀態(tài)分為6類,分別是:
- open,表示端口是開放的。
- closed,表示端口是關(guān)閉的。
- filtered,表示端口被防火墻屏蔽,無(wú)法進(jìn)一步確定狀態(tài)。
- unfiltered,表示端口沒有被屏蔽,但是否處于開放狀態(tài),還需要進(jìn)一步確定。
- open|filtered,表示不確定狀態(tài),端口可能是開放的,也可能是屏蔽的。
- closed|filtered,表示不確定狀態(tài),端口可能是關(guān)閉的,也可能是屏蔽的。
在端口掃描方式上,nmap支持10多種探測(cè)方法,最常用的有“TCP SYN scanning”,這是默認(rèn)的端口掃描方式,另外還有“TCP connect scan-ning”、“TCP ACK scanning”、“TCP FIN/Xmasscanning”、“UDP scanning”等探測(cè)方式。具體使用哪種探測(cè)方式,用戶可自己指定。
端口掃描的用法:nmap [選項(xiàng)或參數(shù)] 目標(biāo)主機(jī)

nmap版本偵測(cè)
nmap [選項(xiàng)或參數(shù)] 目標(biāo)主機(jī)

nmap操作系統(tǒng)偵測(cè)
nmap [選項(xiàng)或參數(shù)] 目標(biāo)主機(jī)

