Nmap,也就是Network Mapper,最早是Linux下的網(wǎng)絡(luò)掃描和嗅探工具包。
nmap是一個網(wǎng)絡(luò)連接端掃描軟件,用來掃描網(wǎng)上電腦開放的網(wǎng)絡(luò)連接端。確定哪些服務(wù)運(yùn)行在哪些連接端,并且推斷計算機(jī)運(yùn)行哪個操作系統(tǒng)(這是亦稱 fingerprinting)。它是網(wǎng)絡(luò)管理員必用的軟件之一,以及用以評估網(wǎng)絡(luò)系統(tǒng)安全。
正如大多數(shù)被用于網(wǎng)絡(luò)安全的工具,nmap 也是不少黑客及駭客(又稱腳本小子)愛用的工具 。系統(tǒng)管理員可以利用nmap來探測工作環(huán)境中未經(jīng)批準(zhǔn)使用的服務(wù)器,但是黑客會利用nmap來搜集目標(biāo)電腦的網(wǎng)絡(luò)設(shè)定,從而計劃攻擊的方法。
Nmap 常被跟評估系統(tǒng)漏洞軟件
Nessus 混為一談。Nmap 以隱秘的手法,避開闖入檢測系統(tǒng)的監(jiān)視,并盡可能不影響目標(biāo)系統(tǒng)的日常操作。
其基本功能有三個,一是探測一組主機(jī)是否在線;其次是掃描 主機(jī)端口,
嗅探所提供的網(wǎng)絡(luò)服務(wù);還可以推斷主機(jī)所用的操作系統(tǒng) 。Nmap可用于掃描僅有兩個節(jié)點的LAN,直至500個節(jié)點以上的網(wǎng)絡(luò)。Nmap 還允許用戶定制掃描技巧。通常,一個簡單的使用ICMP協(xié)議的ping操作可以滿足一般需求;也可以深入探測UDP或者TCP端口,直至
主機(jī)所 使用的操作系統(tǒng);還可以將所有探測結(jié)果記錄到各種格式的日志中, 供進(jìn)一步分析操作。
進(jìn)行ping掃描,打印出對掃描做出響應(yīng)的主機(jī),不做進(jìn)一步測試(如端口掃描或者操作系統(tǒng)探測):
nmap -sP 192.168.1.0/24
僅列出指定網(wǎng)絡(luò)上的每臺主機(jī),不發(fā)送任何報文到目標(biāo)主機(jī):
nmap -sL 192.168.1.0/24
探測目標(biāo)主機(jī)開放的端口,可以指定一個以逗號分隔的端口列表(如-PS22,23,25,80):
nmap -PS 192.168.1.234
使用UDP ping探測主機(jī):
nmap -PU 192.168.1.0/24
使用頻率最高的掃描選項:SYN掃描,又稱為半開放掃描,它不打開一個完全的TCP連接,執(zhí)行得很快:
nmap -sS 192.168.1.0/24
當(dāng)SYN掃描不能用時,TCP Connect()掃描就是默認(rèn)的TCP掃描:
nmap -sT 192.168.1.0/24
UDP掃描用-sU選項,UDP掃描發(fā)送空的(沒有數(shù)據(jù))UDP報頭到每個目標(biāo)端口:
nmap -sU 192.168.1.0/24
確定目標(biāo)機(jī)支持哪些IP協(xié)議 (TCP,ICMP,IGMP等):
nmap -sO 192.168.1.19
nmap -O 192.168.1.19
nmap -A 192.168.1.19
另外,nmap官方文檔中的例子:
nmap -v scanme.
這個選項掃描主機(jī)scanme中 所有的保留TCP端口。選項-v啟用細(xì)節(jié)模式。
nmap -sS -O scanme./24
進(jìn)行秘密SYN掃描,對象為主機(jī)Saznme所在的“C類”網(wǎng)段 的255臺主機(jī)。同時嘗試確定每臺工作主機(jī)的操作系統(tǒng)類型。因為進(jìn)行SYN掃描 和操作系統(tǒng)檢測,這個掃描需要有根權(quán)限。
nmap -sV -p 22,53,110,143,4564 198.116.0-255.1-127
進(jìn)行主機(jī)列舉和TCP掃描,對象為B類188.116網(wǎng)段中255個8位子網(wǎng)。這 個測試用于確定系統(tǒng)是否運(yùn)行了sshd、DNS、imapd或4564端口。如果這些端口 打開,將使用版本檢測來確定哪種應(yīng)用在運(yùn)行。
nmap -v -iR 100000 -P0 -p 80
隨機(jī)選擇100000臺主機(jī)掃描是否運(yùn)行Web服務(wù)器(80端口)。由起始階段 發(fā)送探測報文來確定主機(jī)是否工作非常浪費(fèi)時間,而且只需探測主機(jī)的一個端口,因 此使用-P0禁止對主機(jī)列表。
nmap -P0 -p80 -oX logs/pb-port80scan.xml -oG logs/pb-port80scan.gnmap 216.163.128.20/20
掃描4096個IP地址,查找Web服務(wù)器(不ping),將結(jié)果以Grep和XML格式保存。
host -l | cut -d -f 4 | nmap -v -iL -
進(jìn)行DNS區(qū)域傳輸,以發(fā)現(xiàn)中的主機(jī),然后將IP地址提供給 Nmap。上述命令用于GNU/Linux -- 其它系統(tǒng)進(jìn)行區(qū)域傳輸時有不同的命令。
其他選項:
-p (只掃描指定的端口)
單個端口和用連字符表示的端口范 圍(如 1-1023)都可以。當(dāng)既掃描TCP端口又掃描UDP端口時,可以通過在端口號前加上T: 或者U:指定協(xié)議。 協(xié)議限定符一直有效直到指定另一個。 例如,參數(shù) -p U:53,111,137,T:21-25,80,139,8080 將掃描UDP 端口53,111,和137,同時掃描列出的TCP端口。
-F (快速 (有限的端口) 掃描)