nmap(Network Mapper)是一款用于網(wǎng)絡(luò)掃描和安全審計(jì)軟件開源軟件吗氏,支持Windows、Mac雷逆、Linux等多個(gè)平臺(tái)弦讽。同時(shí),很多網(wǎng)絡(luò)管理員也用它來(lái)進(jìn)行網(wǎng)絡(luò)設(shè)備管理膀哲、服務(wù)升級(jí)和主機(jī)監(jiān)控往产。NMAP使用原始的IP包來(lái)探測(cè)網(wǎng)絡(luò)上存活的主機(jī)、服務(wù)某宪、操作系統(tǒng)等各種信息仿村。NMAP被設(shè)計(jì)用來(lái)進(jìn)行大型網(wǎng)絡(luò)的掃描,但也可以用來(lái)對(duì)單個(gè)目標(biāo)進(jìn)行掃描兴喂。Nmap還曾在20部電影大屏幕上出現(xiàn)過(guò)蔼囊。
一、下載安裝衣迷。
Windows下有exe安裝包以及圖形界面畏鼓,我感覺(jué)使用起來(lái)最方便。Linux和Mac下也都有RPM和DMG安裝包壶谒,安裝相對(duì)簡(jiǎn)單云矫,使用上可能命令行的場(chǎng)景比較多,具體使用哪個(gè)版本就看各人喜好了佃迄。
<figcaption style="margin: 5px 0px 0px; padding: 0px; max-width: 100%; box-sizing: border-box !important; overflow-wrap: break-word !important; text-align: center; color: rgb(136, 136, 136); font-size: 14px;">
</figcaption>
二泼差、主機(jī)發(fā)現(xiàn)
2.1 常規(guī)掃描
簡(jiǎn)單的在命令后加ip地址贵少,可以進(jìn)行常規(guī)掃描呵俏,查看主機(jī)是否存活以及開放的端口。
nmap 11.133.171.200
2.2 Ping 掃描
類似于Ping命令滔灶,僅執(zhí)行Ping掃描普碎,可以快速發(fā)現(xiàn)主機(jī)是否存活。
nmap -sn 11.133.171.1-254
如果想看具體的過(guò)程录平,可以加上 --packet-trace
參數(shù)麻车,這樣在返回結(jié)果之前,可以看到每一步的交互過(guò)程斗这。
2.3 TCP SYN Ping 掃描
通常情況下动猬,Nmap默認(rèn)Ping掃描是使用TCP ACK和ICMP Echo請(qǐng)求對(duì)目標(biāo)進(jìn)行是否存活的響應(yīng),當(dāng)目標(biāo)主機(jī)的防火墻阻止這些請(qǐng)求時(shí)表箭,可以使用TCP Syn Ping掃描赁咙。
TCP協(xié)議是TCP/IP協(xié)議族中的面向連接的、可靠的傳輸層協(xié)議,允許發(fā)送和接收字節(jié)流形式的數(shù)據(jù)彼水。為了使服務(wù)器和客戶端以不同的速度產(chǎn)生和消費(fèi)數(shù)據(jù)崔拥,TCP提供了發(fā)送和接收兩個(gè)緩沖區(qū)。TCP提供全雙工服務(wù)凤覆,數(shù)據(jù)同時(shí)能雙向流動(dòng)链瓦。通信的每一方都有發(fā)送和接收兩個(gè)緩沖區(qū),可以雙向發(fā)送數(shù)據(jù)盯桦。
nmap -PS -v 11.133.171.1-254
2.4 TCP ACK Ping 掃描
nmap -PA -v 11.133.171.1-254
使用 -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ī)肥卡。
2.5 UDP Ping 掃描
nmap -PU -v 11.133.171.1-254
-PU
選項(xiàng)是發(fā)送一個(gè)空的UDP報(bào)文到指定端口,如果目標(biāo)主機(jī)響應(yīng)則返回一個(gè)ICMP端口不可達(dá)錯(cuò)誤事镣,如果目標(biāo)主機(jī)不是存活狀態(tài)則會(huì)返回各種ICMP報(bào)錯(cuò)信息步鉴。
2.6 ICMP Ping Types 掃描
ICMP (Internet Control Message Protocol)是Internet控制報(bào)文協(xié)議。它是TCP/IP協(xié)議族的一個(gè)子協(xié)議用于在IP主機(jī)璃哟、路由器之間傳遞控制消息氛琢。控制消息是指網(wǎng)絡(luò)通不通随闪、主機(jī)是否可達(dá)阳似、路由是否可用等網(wǎng)絡(luò)本身的消息。這些消息雖然并不傳輸用戶數(shù)據(jù)铐伴,但是對(duì)于用戶數(shù)據(jù)的傳遞起著重要作用撮奏。
ICMP Echo 方式掃描
nmap -PE -v 11.133.171.1-254
使用ICMP時(shí)間戳Ping掃描
nmap -PP -v 163.com
使用ICMP地址掩碼Ping掃描
nmap -PM -v 11.133.171.1-254
2.7 ARP Ping 掃描
nmap -PR 11.133.171.1-254
這個(gè)選項(xiàng)通常用在掃描局域網(wǎng)時(shí),在本地局域網(wǎng)中防火墻不會(huì)禁止ARP請(qǐng)求,這就使它的掃描更加高效焕数。
地址解析協(xié)議透罢,即ARP(Address Resolution Protocol),是根據(jù)IP地址獲取物理地址的一個(gè)TCP/IP協(xié)議玲献,其功能:主機(jī)將ARP請(qǐng)求廣播到網(wǎng)絡(luò)上的所有主機(jī),并接收返回消息梯浪,確定目標(biāo)IP地址的物理地址捌年,同時(shí)將IP地址和硬件地址存入本機(jī)ARP緩存中,下次請(qǐng)求時(shí)直接查詢ARP緩存挂洛。
三礼预、端口掃描
端口是指接口電路中的一些寄存器,這些寄存器分別用來(lái)存放數(shù)據(jù)信息虏劲、控制信息和狀態(tài)信息托酸,相應(yīng)的端口分別稱為數(shù)據(jù)端口荠藤、控制端口和狀態(tài)端口。
端口狀態(tài)获高。NMAP提供了6個(gè)端口狀態(tài)哈肖,分別是Open、Closed念秧、Filtered淤井、Unfiltered、Open|Filtered摊趾、Closed|Filtered币狠。
時(shí)序選項(xiàng)。NMAP提供了T0-T5幾個(gè)時(shí)序選項(xiàng)砾层,分別是從慢到快的掃描方式漩绵。
3.1 常用掃描方式
nmap -p 445 11.133.171.1-254
-p
用來(lái)指定端口或端口范圍。-F
選項(xiàng)可以快速的掃描端口肛炮,但并不是所有的端口都掃描止吐。NMAP默認(rèn)是使用隨機(jī)的順序?qū)Χ丝谶M(jìn)行掃描,使用 -r
選項(xiàng)則可以使用排序順序進(jìn)行掃描侨糟。
四碍扔、服務(wù)識(shí)別與探測(cè)
Nmap通過(guò)Nmap-service可以探測(cè)主機(jī)的端口,以及該端口對(duì)應(yīng)的服務(wù)秕重,甚至可以進(jìn)一步探索版本號(hào)不同、主機(jī)名、設(shè)備類型等信息溶耘。
4.1 版本探測(cè)
使用 nmap -sV 11.133.171.141
可以啟用版本探測(cè)二拐,這并不僅僅是端口探測(cè),而是通過(guò)相應(yīng)的端口對(duì)應(yīng)相應(yīng)的服務(wù)凳兵,根據(jù)服務(wù)指紋識(shí)別出相應(yīng)的版本百新。
使用 nmap -sV -A 11.133.171.141
可以看到更加詳細(xì)的信息和更加直觀的方式。
4.2 操作系統(tǒng)探測(cè)
在網(wǎng)絡(luò)掃描過(guò)程中留荔,對(duì)操作系統(tǒng)版本的探測(cè)非常重要吟孙。最常見的操作系統(tǒng)探測(cè)方法是利用TTL也就是數(shù)據(jù)包的存活時(shí)間澜倦,不同的操作系統(tǒng)的TTL也是不同的聚蝶,可以根據(jù)這些TTL進(jìn)行操作系統(tǒng)探測(cè)。
使用 nmap -O 11.133.171.141
可以啟用操作系統(tǒng)探測(cè)藻治。Nmap在掃描過(guò)程中碘勉,經(jīng)常會(huì)發(fā)送一系列報(bào)文,--version-intensity
選項(xiàng)可以為每個(gè)報(bào)文賦予1-9之間的值桩卵,表示掃描時(shí)的強(qiáng)度验靡,強(qiáng)度越高準(zhǔn)確度越高速度相應(yīng)就慢倍宾,強(qiáng)度越低準(zhǔn)確度越低速度就快。
五胜嗓、定時(shí)掃描
這里的定時(shí)掃描區(qū)別于Linux系統(tǒng)的Crontab定時(shí)任務(wù)高职,是一系列Nmap提供的可配置的定時(shí)選項(xiàng),通過(guò)這些選項(xiàng)我們可加快或者減慢掃描速度辞州,也可以延時(shí)怔锌、定時(shí)掃描,其提供的這些選項(xiàng)更多的是用來(lái)逃逸防火墻变过、IDS(入侵檢測(cè)系統(tǒng))埃元。
并行掃描組。
放棄緩慢的目標(biāo)主機(jī)媚狰〉荷保可以通過(guò)--host-timeout
參數(shù)指定對(duì)主機(jī)的掃描時(shí)間。
nmap --host-timeout 100ms 11.133.171.122
六崭孤、防火墻與IDS
網(wǎng)絡(luò)防火墻就是一個(gè)位于計(jì)算機(jī)和它所連接的網(wǎng)絡(luò)之間的軟件(或硬件)类嗤。防火墻可以關(guān)閉不使用的端口,而且還能禁止特定端口的流出通信辨宠。
IDS是英文“Intrusion Detection Systems”的縮寫土浸,意思是入侵檢測(cè)系統(tǒng)。主要是依照一定的安全策略彭羹,通過(guò)軟件黄伊、硬件,對(duì)網(wǎng)絡(luò)派殷、系統(tǒng)的運(yùn)行狀況進(jìn)行監(jiān)視还最,盡可能發(fā)現(xiàn)各種攻擊企圖、攻擊行為或攻擊結(jié)果毡惜,以保證網(wǎng)絡(luò)系統(tǒng)資源的機(jī)密性拓轻、完整性和可用性。
6.1 報(bào)文分段
選項(xiàng) | 解釋 |
---|---|
-f | 報(bào)文分段 |
--mtu number | 指定偏移大小 |
-D ip,ip,ip | RND:number |
-sI | 源地址欺騙 |
--source-port port-number | 源端口欺騙 |
--data-length number | 指定發(fā)包長(zhǎng)度 |
--randomize-hosts | 目標(biāo)主機(jī)隨機(jī)排序 |
--spoof-mac 0 | MAC地址欺騙 |
七经伙、使用NSE腳本進(jìn)行信息收集
NMAP使用--script
參數(shù)可以調(diào)用NSE腳本扶叉。
NMAP的NSE腳本是用Lua程序創(chuàng)作,提供強(qiáng)大的信息搜集功能帕膜。
搜集的信息主要包括:IP信息(地理位置枣氧、開放端口)、WHOIS信息垮刹、EMAIL信息达吞、IP反查、DNS信息搜集(A記錄荒典、CNAME記錄等)酪劫、系統(tǒng)信息吞鸭、后臺(tái)打印機(jī)服務(wù)漏洞、系統(tǒng)漏洞掃描覆糟、WEB漏洞掃描等刻剥。
參考資料:
- NMAP
- NAMP TCP Scanning
- NAMP Download