《網(wǎng)絡掃描工具Nmap、Zmap、Masscan之簡述》要點:
本文介紹了網(wǎng)絡掃描工具Nmap、Zmap、Masscan之簡述,希望對您有用。如果有疑問,可以聯(lián)系我們。
網(wǎng)絡掃描是信息收集的重要手段.通過掃描可以發(fā)現(xiàn)存活主機、開放端口,進而發(fā)現(xiàn)其運行的服務、操作系統(tǒng)等信息,為下一步的工作奠定基礎.掃描工具的選取尤為重要.目前,有不少掃描工具可供選擇,且各有特色.其中,Nmap以其強大而豐富的功能被絕大部分人所使用.除此之外,號稱“45分鐘掃描全網(wǎng)”的Zmap以及“6分鐘掃描全網(wǎng)”的Masscan也有著較高的使用率.接下來,本文將對Nmap、Zmap、Masscan這三種掃描工具進行一些比較.
Nmap可以在Linux、Windows、Mac OS下運行,并且有圖形化界面Zenmap;
Zmap、Masscan可以在Linux、Mac OS下運行,同時也可以在Windows下使用,不過要借助Cygwin等工具.
Zmap采用了無狀態(tài)的掃描技術,沒有進行完整的TCP三次握手,因此掃描速度極大提升.Zmap的基本功能是掃描發(fā)現(xiàn)主機的開放端口.
l? 一次掃描支持單端口,不支持在命令里設置目標IP.
l? 設置黑白名單,由于Zmap設計為在全網(wǎng)范圍內(nèi)尋找主機,若想對特定網(wǎng)段進行掃描,可以利用白名單的方式;
l? 設置掃描數(shù)量和掃描時間;
l? 設置掃描速率,由于Zmap會以網(wǎng)絡適配器支持的最快速率進行掃描,不會根據(jù)上游流量提供商自動調(diào)整發(fā)送速率,需要手動調(diào)整,來減少丟包和不正確的結果.可以通過設置每秒發(fā)包數(shù)量或帶寬進行調(diào)整;
l? 設置掃描源端口、源IP,偽造網(wǎng)關MAC地址進行偽裝.
l? 結果輸出默認csv格式,經(jīng)過額外的配置可輸出redis和JSON;用戶也可以用官方提供的API自己編寫輸出模塊.
l? 掃描模式,支持TCPSYN、ICMP echo、UDP三種掃描模式,用戶也可以用官方提供的API自己編寫探測模塊.
l? Banner獲取,Zmap并不直接提供Banner獲取功能,需要編寫擴展模塊,不過開發(fā)者已經(jīng)為我們提供了一個樣本.詳情見后文.
Masscan與Zmap類似,同樣采用了無狀態(tài)的掃描技術.
l? 允許自定義任意的地址范圍和端口范圍;
l? 設置黑白名單;
l? 設置掃描速率;
l? 指定發(fā)包的源IP地址、源端口和源MAC地址進行偽裝.
l? 結果輸出支持xml、binary、JSON、list等多種格式.
l? 為了配合用戶的各種掃描需求,Masscan提供了重試次數(shù)、UA字段值、發(fā)出數(shù)據(jù)包的TTL值、發(fā)包后的等待時間等掃描設置.
l? Banner獲取直接在掃描命令里使用—banners即可.
Nmap的功能非常強大,而且作為一個廣泛使用的開源工具,全球的開發(fā)者都為其功能的豐富貢獻了力量.因此,本文僅對其功能進行簡單的描述.
基本功能:主機發(fā)現(xiàn),開放端口掃描,支持多端口、多網(wǎng)段,可對目標域名進行掃描;
識別功能:識別端口服務類型及版本、操作系統(tǒng)、設備類型等;
掃描模式:TCP SYN scan、TCP connectscan、UDP scan、No Ping scan等;
規(guī)避檢測:分片、IP偽裝、MAC偽裝.
Zmap的擴展模塊需使用C語言編寫,官方提供了兩個擴展模塊用于獲取Banner.
1.??????banner-grab-tcp
原理是向掃描發(fā)現(xiàn)的IP進行二次發(fā)包抓取Banner,二次發(fā)包的內(nèi)容需要自定義.
2.??????forge-socket
功能與前者一樣,但需要先安裝驅動.該模塊以底層驅動方式,效率更高.
除了以上兩個擴展模塊,用戶也可以結合需求自行編寫.
Nmap有強大的腳本引擎框架,用戶可以使用Lua語言編寫擴展.目前官方提供了400多個擴展腳本,用于增強基礎功能和擴展更多功能,如漏洞檢測、口令爆破等.在掃描命令中使用—script=scriptname調(diào)用即可.
三種掃描工具在功能上各有長短,本文針對其最基本的端口掃描、主機發(fā)現(xiàn)功能進行了實驗對比.
操作系統(tǒng):CentOS 6.5
網(wǎng)絡帶寬:2000Kbps左右
本文分別編寫了三個Python腳本,執(zhí)行掃描命令.選取來自美歐中非的幾個網(wǎng)段,在一次掃描中,針對相同網(wǎng)段和15個常用端口進行掃描,并將結果最后轉存到數(shù)據(jù)庫中,對比Zmap、Masscan、Nmap三種工具在相同環(huán)境下執(zhí)行掃描的速度和結果數(shù)量.
網(wǎng)段 | Zmap | Masscan | Nmap | |
---|---|---|---|---|
144.76.183.0/24 | 時間 | 11min43s | 1min27s | 7min39s |
結果數(shù)量 | 323 | 315 | 317 | |
125.56.212.0/24 | 時間 | 11min34s | 54s | 7min53s |
結果數(shù)量 | 496 | 496 | 496 | |
129.232.174.0/24 | 時間 | 11min24s | 53s | 15min55s |
結果數(shù)量 | 416 | 427 | 429 | |
125.71.28.0/24 | 時間 | 11min437s | 50s | 5min42s |
結果數(shù)量 | 47 | 47 | 47 | |
125.65.110.0/24 | 時間 | 11min39s | 56s | 4min55s |
結果數(shù)量 | 275 | 254 | 275 | |
134.213.61.0/24 | 時間 | 11min46s | 56s | 37min50s |
結果數(shù)量 | 167 | 168 | 168 | |
138.186.177.0/24 105.198.227.0/24 | 時間 | 22min34s | 1min29s | 2h18min47s |
結果數(shù)量 | 363 | 183 | 368 |
時間方面,Zmap和Masscan掃描耗時與到掃描目標數(shù)量成正比,Zmap由于每次只能針對一個端口進行掃描,對于15個端口的情況需要在腳本中發(fā)起15次掃描,因此耗時高于Masscan;Nmap的耗時情況并不穩(wěn)定,懷疑與目標網(wǎng)段網(wǎng)絡環(huán)境有關.
結果數(shù)量方面,在對一個C段進行掃描的時候,三種工具的主機發(fā)現(xiàn)數(shù)量差距不大;而在對兩個C段進行掃描的實驗中,Masscan出現(xiàn)了明顯的遺漏.
【Masscan Web Interface】可以導入XML文件,讓用戶方便地搜索掃描結果.
【Rainmap Lite】Web版Nmap,僅需安裝Django,就可以建立新的掃描服務器,允許用戶從他們的手機/平板電腦/網(wǎng)絡瀏覽器啟動Nmap掃描.
【Dracnmap】將Nmap復雜的命令進行一定程度的集成與簡化,使新用戶更加容易上手.
【LazyMap】可以自動進行Nmap掃描,并且能自動生成定制的Nessus策略.
【DNmap】Nmap的分布式版本,采用C/S結構,由服務器接受命令分發(fā)到客戶端執(zhí)行掃描.
以上三種掃描工具各有利弊,工具的選取應該結合具體情況決定.Zmap和Masscan采用了無狀態(tài)的掃描技術,掃描速度非常可觀.在信息收集的初級階段,可以使用Zmap或Masscan進行目標的情勢了解,掃描單一端口的情況考慮使用Zmap,而多端口的情況下Masscan則更為快速.在做完初步了解之后,則應該使用功能更加豐富的Nmap進行進一步的詳細掃描.
https://github.com/robertdavidgraham/masscan
https://zmap.io/documentation.html
https://www.offensive-security.com/offsec/masscan-web-interface/
http://www.freebuf.com/sectool/115782.html
http://www.freebuf.com/sectool/117092.html
http://www.freebuf.com/sectool/114701.html
http://www.freebuf.com/sectool/29436.html
文章來自微信公眾號:DevOps
轉載請注明本頁網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/4271.html