Nmap命令詳解

[信息收集]Nmap命令詳解

0x01 介紹

Nmap,也就是Network Mapper,中文為“網(wǎng)絡(luò)映射器”。

Nmap是一款開源的網(wǎng)絡(luò)探測(cè)和安全審核的工具,它的設(shè)計(jì)目標(biāo)是快速地掃描大型網(wǎng)絡(luò)。

它是網(wǎng)絡(luò)管理員必用的軟件之一,以及用以評(píng)估網(wǎng)絡(luò)系統(tǒng)保安。

1.1 基本功能

(1)探測(cè)一組主機(jī)是否在線

(2)掃描主機(jī)端口,嗅探所提供的網(wǎng)絡(luò)服務(wù)

(3)推斷主機(jī)所用的操作系統(tǒng)

1.2 工作原理

Nmap對(duì)目標(biāo)主機(jī)進(jìn)行一系列的測(cè)試,利用測(cè)試結(jié)果建立相應(yīng)目標(biāo)主機(jī)的Nmap指紋,然后Nmap會(huì)對(duì)指紋進(jìn)行匹配,最終輸出相應(yīng)的結(jié)果。

1.3 語法格式

Nmap的固定語法格式如下:

Copy

Nmap【空格】【選項(xiàng)|多選項(xiàng)|協(xié)議】【空格】【目標(biāo)】

0x02 常用參數(shù)

2.1 全面掃描

全面掃描指定IP或域名的所有端口及其目標(biāo)系統(tǒng)信息等。所需時(shí)間較長

Copy

nmap? -A? 192.168.0.12

掃描結(jié)果:目標(biāo)主機(jī)MAC地址、設(shè)備類型、操作系統(tǒng)、中央處理單元、主機(jī)詳細(xì)資料、網(wǎng)絡(luò)距離等

2.2 簡(jiǎn)單掃描

該掃描方式可以針對(duì)IP或者域名進(jìn)行掃描,掃描方式迅速,可以很方便地發(fā)現(xiàn)目? ? 標(biāo)端口的開放情況及主機(jī)在線情況。

Copy

nmap? 192.168.0.12

簡(jiǎn)單掃描結(jié)果:(只能掃描工具規(guī)定的一些常見端口)

2.3 其他舉例

指定掃描一個(gè)網(wǎng)段:nmap 192.168.0.0/24 或者 nmap 192.168.0.1-200(掃描1-200的主機(jī))

掃描部分網(wǎng)段(逗號(hào)隔開):nmap? 192.168.0.1,2,3,4 或 nmap 192.168.0,1,2,3,4.1

掃描指定IP所開放的端口:nmap -p 1-65535 -v 127.0.0.1

掃描C段存活主機(jī):nmap 192.168.1.0/24

指定端口掃描:nmap -p 80,1433,22,1521 192.168.1.1

探測(cè)主機(jī)操作系統(tǒng):nmap -O 192.168.1.1

全面的系統(tǒng)探測(cè):nmap -v -A 192.168.1.1(Nmap默認(rèn)掃描主機(jī)1000個(gè)高危端口)

穿透防火墻進(jìn)行掃描:nmap -Pn -A 192.168.1.1(禁止用ping的)

使用腳本掃描Web敏感目錄:nmap -p 80 --script=http-enum.nse 192.168.1.1

0x03 主機(jī)發(fā)現(xiàn)

3.1 Ping掃描

Ping掃描只進(jìn)行ping,然后顯示出在線的主機(jī)。使用該選項(xiàng)掃描可以輕易獲取目標(biāo)信息而不會(huì)被輕易發(fā)現(xiàn)。

在默認(rèn)情況下,Nmap會(huì)發(fā)送一個(gè)ICMP回聲請(qǐng)求和一個(gè)TCP報(bào)文到目標(biāo)端口。Ping掃描的優(yōu)點(diǎn)是不會(huì)返回太多的信息影響對(duì)結(jié)果的分析,并且掃描方式高效。

Copy

nmap -sP 192.168.0.0/24

3.2 無Ping掃描

無ping掃描通常用于防火墻禁止ping的情況下,它能確定正在運(yùn)行的機(jī)器。

默認(rèn)情況下,nmap只對(duì)正在運(yùn)行的主機(jī)進(jìn)行高強(qiáng)度的探測(cè),如端口掃描,版本探測(cè)或者操作系統(tǒng)探測(cè)。

用-P0禁止主機(jī)發(fā)現(xiàn)會(huì)使nmap對(duì)每一個(gè)特定的目標(biāo)IP地址進(jìn)行所要求的掃描,這可以穿透防火墻,也可以避免被防火墻發(fā)現(xiàn)。

Copy

nmap -P0 192.168.0.12

3.3 TCP SYN Ping 掃描

通常情況下,nmap默認(rèn)是使用TCP ACK 和 ICMP Echo 請(qǐng)求對(duì)目標(biāo)進(jìn)行是否存活的響應(yīng),當(dāng)目標(biāo)主機(jī)的防火墻阻止這些請(qǐng)求時(shí),可以使用TCP SYN Ping掃描來判斷主機(jī)是否存活。

-PS 選項(xiàng)發(fā)送一個(gè)設(shè)置了SYN標(biāo)志位的空TCP報(bào)文。默認(rèn)端口為80。

但不同的端口也可以作為選項(xiàng)指定,甚至可以指定一個(gè)以逗號(hào)分隔的端口列表(如-PS22,23,25,80,115,3306,3389),在這種情況下,每個(gè)端口會(huì)被并發(fā)地掃描

Copy

nmap? -PS? -v? 192.168.0.12

上面結(jié)果可得知Nmap是通過SYN/ACK和RST響應(yīng)來對(duì)目標(biāo)主機(jī)是否存活進(jìn)行判斷,但在特定情況下防火墻會(huì)丟棄RST包。

這時(shí)結(jié)果會(huì)不準(zhǔn)確,我們需要指定一個(gè)端口或端口范圍來避免這種情況。

Copy

nmap? -PS80,100-200? -v? 192.168.0.12

3.4 TCP ACK Ping 掃描

使用-PA選項(xiàng)可以進(jìn)行TCP ACK Ping掃描,它與TCP SYN Ping掃描非常類似,區(qū)別在于設(shè)置的TCP標(biāo)志位是ACK而不是SYN,使用這種方式掃描可以探測(cè)阻止SYN包或ICMP Echo請(qǐng)求的主機(jī)。

Copy

nmap? -PA? -v? 192.168.0.12

Copy

同時(shí)使用-SP與-PA選項(xiàng)命令如下:

nmap? -PA? -PS? 192.168.0.12

3.5 UDP Ping掃描

使用UDP Ping掃描時(shí)Nmap會(huì)發(fā)送一個(gè)空UDP包到目標(biāo)之間,如果目標(biāo)主機(jī)相應(yīng)則返回一個(gè)ICMP端口不可達(dá)錯(cuò)誤,如果目標(biāo)主機(jī)不是存活狀態(tài)則會(huì)返回各自ICMP錯(cuò)誤信息。

Copy

nmap? -PU? -v? 192.168.0.12

3.6 ICMP Ping Types 掃描

ICMP是控制報(bào)文協(xié)議。nmap發(fā)送一個(gè)ICMP type8(回聲請(qǐng)求)報(bào)文到目標(biāo)ip地址,從運(yùn)行的主機(jī)得到一個(gè)type0(回聲相應(yīng))報(bào)文。

-PE選項(xiàng)簡(jiǎn)單的來說是通過向目標(biāo)發(fā)送ICMP Echo數(shù)據(jù)包來探測(cè)目標(biāo)主機(jī)是否在線,使用-PE選項(xiàng)打開該回聲請(qǐng)求功能。

-PP選項(xiàng)是ICMP時(shí)間戳ping掃描,-PM選項(xiàng)可以進(jìn)行icmp地址掩碼ping掃描

Copy

nmap-PE-v192.168.0.12nmap-PP-v192.168.0.12nmap-PM-v192.168.0.12

3.7 ARP Ping掃描

-PR 通常在掃描局域網(wǎng)時(shí)使用,在內(nèi)網(wǎng)的情況下,使用ARP ping掃描方式是最有效的,在本地局域網(wǎng)中防火墻不會(huì)禁止ARP請(qǐng)求,這就使得它比其他ping掃描都更加高效。

Copy

nmap -PR 192.168.0.12

3.8 掃描列表

列表掃描時(shí)主機(jī)發(fā)現(xiàn)的退化形式,它僅僅列出指定網(wǎng)絡(luò)上的每臺(tái)主機(jī),不發(fā)送任何報(bào)文到目標(biāo)主機(jī)。

默認(rèn)情況下,Nmap仍然對(duì)主機(jī)進(jìn)行反向域名解析以獲取它們的名字。

Copy

nmap -sL 192.168.0.0/24

3.9 禁止反向域名解析

如果單純掃描一段IP,使用該選項(xiàng)可以大幅度減少目標(biāo)主機(jī)的相應(yīng)時(shí)間,從而更快的得到結(jié)果。

Copy

namp? -n -sL? 192.168.0.0/24

Copy

3.10反向域名解析

nmap -R -sL *. 192.168.0.0/24

Copy

3.11 掃描TPv6地址

nmap -6 fe80::20c:29ff:fee0:2e76

Copy

3.12 路由跟蹤

通過此選項(xiàng)可以輕松地查找出本地計(jì)算機(jī)到目標(biāo)之間所經(jīng)過的網(wǎng)絡(luò)節(jié)點(diǎn),并可以看到通過各個(gè)節(jié)點(diǎn)的時(shí)間。

nmap? --traceroute? -v? www.baidu.com

3.13 SCTP INIT Ping掃描

SCTP(流控制傳輸協(xié)議)是IETF在2000年定義的一個(gè)傳輸層協(xié)議。

SCTP可以看作是TCP協(xié)議的改進(jìn),它改進(jìn)了TCP的一些不足,SCTP INIT Ping掃描通過向目標(biāo)發(fā)送INIT包,根據(jù)目標(biāo)主機(jī)的相應(yīng)判斷目標(biāo)主機(jī)是否存活。

Copy

nmap? -PY? -v? 192.168.0.12

0x04 端口掃描

4.1 從nmap識(shí)別端口狀態(tài)

Copy

Open:對(duì)外開放Closed:端口關(guān)閉狀態(tài)Filtered:防火墻過濾或者網(wǎng)絡(luò)堵塞Unfiltered:未被過濾,端口可訪問,但是無法判斷是開放還是關(guān)閉狀態(tài)Open|Filtered:開放還是被過濾Closed|Filtered:不能確定是關(guān)閉還是被過濾,只可能出現(xiàn)在IPID Idle掃描中。

4.2 時(shí)序選項(xiàng)

在nmap中使用-T(0-5)可以啟用時(shí)序選項(xiàng),對(duì)于時(shí)序選項(xiàng)這里有0~5不同選項(xiàng)。

Copy

-T0(偏執(zhí)的):非常慢的掃描,用于IDS逃避。-T1(鬼祟的):緩慢的掃描,用于IDS逃避。-T2(文雅的):降低速度以降低對(duì)帶寬的消耗,此選項(xiàng)不常用。-T3(普通的):默認(rèn),根據(jù)目標(biāo)的反應(yīng)自動(dòng)調(diào)整時(shí)間。-T4(野蠻的):快速掃描,常用掃描方式,需要在很好的網(wǎng)絡(luò)環(huán)境下進(jìn)行掃描,請(qǐng)求可能會(huì)淹沒目標(biāo)。-T5(瘋狂的):極速掃描,這種掃描方式以犧牲準(zhǔn)確度來提示掃描速度。

Copy

4.3 TCP SYN 掃描

半開放掃描,掃描速度快,掃描方式隱蔽。(在SYN掃描不能用時(shí),TCP連接掃描會(huì)使用默認(rèn)的TCP掃描)

nmap -sS 192.168.0.12

Copy

4.4 TCP 連接掃描

端口掃描中最基礎(chǔ),最穩(wěn)定的掃描方式

nmap? -sT? 192.168.0.12

4.5 UDP掃描

UDP掃描非常緩慢,UDP端口掃描通過發(fā)送UDP數(shù)據(jù)包到目標(biāo)主機(jī)并等待響應(yīng),它將判斷目標(biāo)端口是否開放狀態(tài),如果目標(biāo)返回ICMP不可達(dá)的錯(cuò)誤,說明端口是關(guān)閉的,如果得到正確的適當(dāng)?shù)捻憫?yīng),這說明端口是開放的。

Copy

nmap? -sU -p 80-500 192.168.0.12

Copy

4.6 隱蔽掃描

-sN是Null掃描,是通過發(fā)送非常規(guī)的TCP通信數(shù)據(jù)包對(duì)計(jì)算機(jī)進(jìn)行探測(cè),很多情況下Null掃描與Xmas掃描恰好相反,因?yàn)镹ull掃描不會(huì)標(biāo)記任何數(shù)據(jù)包,若目標(biāo)主機(jī)的相應(yīng)端口是關(guān)閉的,會(huì)響應(yīng)一個(gè)RST數(shù)據(jù)包,若目標(biāo)端口是開放的則不會(huì)響應(yīng)任何信息。

nmap -sN 192.168.0.12

Copy

-sF是FIN掃描,當(dāng)我們使用TCP SYN掃描時(shí)可能會(huì)被目標(biāo)主機(jī)的防火墻發(fā)現(xiàn),會(huì)阻止SYN數(shù)據(jù)包,這時(shí)我們使用TCP FIN掃描方式會(huì)有很好的穿透效果,因?yàn)門CP FIN掃描并不需要完成TCP握手。TCP FIN掃描就是向目標(biāo)端口發(fā)送一個(gè)FIN包,如果收到目標(biāo)響應(yīng)的RST包,則說明目標(biāo)端口是開放的,如果沒有收到RST包則說明目標(biāo)端口是關(guān)閉的。

nmap -sF 192.168.0.12

Copy

-sX是Xmas掃描,數(shù)據(jù)包的FIN、PSH和URG標(biāo)記位置打開,既標(biāo)志位1,根據(jù)RFC 793規(guī)定如果目標(biāo)主機(jī)端口是開放的則會(huì)響應(yīng)一個(gè)RST標(biāo)志包。

nmap -sX 192.168.0.12

Copy

4.7 TCP ACK 掃描

使用該掃描不能確定端口是否是開放還是被過濾的。

nmap -sA -v 192.168.0.12

Copy

4.8 TCP 窗口掃描

當(dāng)收到RST包時(shí),根據(jù)TCP窗口的值是正數(shù)還是0來判斷目標(biāo)端口是開放還是關(guān)閉的。

從輸出結(jié)果來看是不準(zhǔn)確的,如果掃描的端口都是開放狀態(tài)或者只有少數(shù)幾個(gè)是關(guān)閉狀態(tài)就很不準(zhǔn)確。

nmap? -sW? -v? -F? 192.168.0.12

Copy

4.9 TCP Maimon掃描

探測(cè)報(bào)文是FIN/ACK 根據(jù) RFC 793(TCP),無論端口開放或者關(guān)閉,都應(yīng)該對(duì)這樣的探測(cè)響應(yīng)RST報(bào)文,如果端口開放,許多基于BSD的系統(tǒng)只是丟棄該探測(cè)報(bào)文。

nmap? -sM? -T4? 192.168.0.12

Copy

4.10 自定義TCP掃描

可以通過指定任意的TCP標(biāo)志位來進(jìn)行掃描。

nmap -sT --scanflags SYNURG 192.168.0.12

Copy

4.11 空閑掃描

空閑掃描允許端口完全欺騙掃描。可以使攻擊者能夠不使用自己的IP向目標(biāo)主機(jī)發(fā)送數(shù)據(jù)包,它可以利用不活躍的僵尸主機(jī)反彈給攻擊者一個(gè)旁通信道,從而進(jìn)行端口掃描。IDS會(huì)把不活躍的僵尸主機(jī)當(dāng)做攻擊者,這是一種非常隱蔽的掃描方法。

nmap -sI? www.0day.co:80? 192.168.0.12

這是利用僵尸主機(jī)為www.0day.co的主機(jī)對(duì)192.168.0.12進(jìn)行空閑掃描,如果有IDS,IDS則會(huì)把www.0day.co當(dāng)做掃描者。選擇的端口必須不能被自己的nmap主機(jī)或目標(biāo)主機(jī)過濾掉并且必須為開放的。

Copy

4.12 IP協(xié)議掃描

掃描IP協(xié)議號(hào)。IP協(xié)議掃描可以幫助用戶確定目標(biāo)主機(jī)哪些是支持IP協(xié)議的,例如TCP,ICMP.IGMP。雖然它遍歷的是IP協(xié)議號(hào)并不是TCP或UDP端口,但仍可以使用-p選項(xiàng)選擇需要掃描的協(xié)議號(hào)。它不是在UDP報(bào)文的端口域上循環(huán),而時(shí)在IP協(xié)議域的2位上循環(huán),發(fā)送空的IP報(bào)文頭。

nmap -sO -T4 192.168.0.12

Copy

4.13 FTP Bounce掃描

使用-b選項(xiàng)就可以進(jìn)行FTP Bounce Scan掃描。它允許用戶連接到一臺(tái)FTP服務(wù)器,然后要求文件送到一臺(tái)第三方服務(wù)器,這種掃描方式被支持較少,但可繞過防火墻。

nmap? -b? 192.168.0.12

0x05 指紋識(shí)別與探測(cè)

Copy

5.1 設(shè)置掃描強(qiáng)度

使用Nmap進(jìn)行掃描的時(shí)候,Nmap發(fā)送一系列探測(cè)報(bào)文,--version-intensity選項(xiàng)可以為每個(gè)報(bào)文賦予1~9之間的值。

被賦予較低值的探測(cè)報(bào)文對(duì)大范圍的常見服務(wù)有效,而被賦予較高值的報(bào)文一般沒有實(shí)際作用,強(qiáng)度水平說明了應(yīng)該使用哪些探測(cè)報(bào)文。

當(dāng)我們賦予的值越高,服務(wù)越有可能被正確識(shí)別,但是這也會(huì)犧牲相當(dāng)長的一段實(shí)際,強(qiáng)度必須在0~9,默認(rèn)的強(qiáng)度是7。

nmap -sV --version-intensity? 1? 192.168.0.12

Copy

5.2 RPC掃描

該選項(xiàng)對(duì)用于與其他端口掃描選項(xiàng)相結(jié)合使用,它對(duì)所有被發(fā)現(xiàn)開放的TCP/UDP端口執(zhí)行SunRPC程序NULL命令,來試圖確定它們是否為RPC端口,如果是RPC端口,則返回程序和版本號(hào)。

nmap? -sS? -sR? 192.168.0.12

5.3 對(duì)指定的目標(biāo)進(jìn)行操作系統(tǒng)檢測(cè)

使用--osscan-limit選項(xiàng)可以對(duì)指定的目標(biāo)進(jìn)行操作系統(tǒng)檢測(cè)。

Nmap只對(duì)滿足“具有打開和關(guān)閉的端口”條件的主機(jī)進(jìn)行操作系統(tǒng)檢測(cè),這樣可以節(jié)約時(shí)間,特別是在使用-P0掃描多個(gè)主機(jī)時(shí)。

這個(gè)選項(xiàng)僅在使用-O或-A進(jìn)行操作系統(tǒng)檢測(cè)時(shí)起作用。

Copy

nmap -O --osscan-limit? 192.168.0.0/24

0x06 躲避防火墻

Copy

nmap-f -v192.168.1.131#報(bào)文分段,將TCP頭分段在幾個(gè)包中,IDS及其他工具監(jiān)測(cè)更加困難nmap --mtu16192.168.1.131#指定偏移大小,設(shè)置TCP/IP協(xié)議傳輸數(shù)據(jù)報(bào)時(shí)的最大傳輸單元,需要注意的是偏移量必須是8的倍數(shù)nmap -D192.168.1.20,192.168.1.21,192.168.1.22,ME192.168.1.131#IP欺騙,在進(jìn)行版本檢測(cè)或者TCP掃描的時(shí)候誘餌是無效的-D,指定誘餌ip,多個(gè)ip用逗號(hào)隔開ME,指定真實(shí)IPnmap -sI www.baidu.com:80192.168.1.131#源地址欺騙nmap --source-port88192.168.1.131#源端口欺騙,指定一個(gè)比較安全的端口,nmap就可以從這些端口中發(fā)送數(shù)據(jù)nmap --data-length30192.168.1.131#指定發(fā)包長度,通常TCP包是40字節(jié),ICMP Echo是28字節(jié)nmap -sT -PN --spoof-mac0192.168.1.131#MAC地址欺騙0,隨機(jī)MAC地址MAC Address,手動(dòng)指定MAC地址Vendor Name,指定廠商生成MAC地址

0x07 保存與輸出

Copy

#標(biāo)準(zhǔn)保存nmap-F-oNtest1.txt192.168.0.12#XML保存nmap-F-oXtest1.xml192.168.0.12#133t保存namp-F-oStest2.txt192.168.0.12#Grep保存nmap-F-oGtest3.txt192.168.0.12#保存到所有格式nmap-F-oAtestA192.168.0.12#補(bǔ)充保存文件nmap-F--append-output-oNtest1.txt192.168.0.12

0x08 Nmap高級(jí)用法

0x09 使用Nmap進(jìn)行滲透測(cè)試

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容