Masscan:快的互聯網IP端口掃描器
作者:danfengcao 發布時間:[ 2016/12/23 15:24:17 ] 推薦標簽:Masscan 軟件測試
Masscan號稱是快的互聯網端口掃描器,快可以在六分鐘內掃遍互聯網。
masscan的掃描結果類似于nmap(一個很的端口掃描器),在內部,它更像scanrand, unicornscan, and ZMap,采用了異步傳輸的方式。它和這些掃描器主要的區別是,它比這些掃描器更快。而且,masscan更加靈活,它允許自定義任意的地址范和端口范圍。
安裝配置
在Debian/Ubuntu系統中,安裝方法如下:
$ sudo apt-get install git gcc make libpcap-dev
$ git clone https://github.com/robertdavidgraham/masscan
$ cd masscan
$ make
注:安裝完成后的可執行程序在masscan/bin中
您也可以使用多線程加快編譯速度 make -j
PF_RING
如果您想獲得超過兩百萬每秒的速度,您需要一個英特爾10-Gbps網卡和一個被稱為PF_RING DNA( http://www.ntop.org/products/pf_ring/ )的特殊驅動程序。masscan使用PF_RING不要進行重建,你只需要建立以下組件即可:
libpfring.so (安裝于 /usr/ lib/libpfring.so)
pf_ring.ko (pf_ring自己的內核驅動)
ixgbe.ko (英特爾 10 -gbps網卡驅動)
你不要建立自己的libpcap.so
當masscan檢測到網卡為dna0時,將自動切換為PF_RING模式
自我測試
當安裝完成是可以測試一下是否安裝成功:
$ make regress
bin/masscan --regress
selftest: success!
使用方法
使用方法類似于nmap,掃描指定網段范圍的指定端口
# masscan -p80,8080-8100 10.0.0.0/8
這條命令將完成如下工作:
1、掃描10.x.x.x子網,大約有1600萬個地址
2、掃描端口80和8000-8100范圍的端口段
3、打印結果到標準輸出,也可以重定向到一個文件
也可以 –echo 將當前的配置輸出到一個配置文件,利用 -c 來制定配置文件進行掃描
# masscan -p80,8000-8100 10.0.0.0/8 --echo > xxx.conf
# masscan -c xxx.conf --rate 1000
Banner獲取
masscan不僅僅只是測試端口是否開放,它還能在完成TCP連接的同時獲取目標應用程序的Banner信息。
# masscan 10.0.0.0/8 -p80 --banners --source-ip x.x.x.x
這條命令的意思是掃描10.x.x.x網段80端口的開放信息,并且獲取banner信息。–source-ip 是指定源IP,這個ip必須指定獨立有效的IP地址。
您可以通過配置防火墻來防止masscan的返回不了信息的情況
Linux可以在這樣配置
# iptables -A INPUT -p tcp --dport 60000 -j DROP
# masscan 10.0.0.0/8 -p80 --banners --source-port 60000
MAC OS X和BSD可以這樣配置
# sudo ipfw add 1 deny tcp from any to any 60000 in
# masscan 10.0.0.0/8 -p80 --banners --source-port 60000
您也可以檢查其他類型的信息,例如心臟出血漏洞 –heartbleed,方法和獲取banner是一樣的
掃描全網
您可以對整個互聯網發起掃描,使用的命令如下
# masscan 0.0.0.0/0 -p0-65535
有時候對這個互聯網掃描可能會對你造成一些麻煩,你可能會被請去喝茶。所以,我們可以通過設置黑名單來讓掃描器掃描時忽略一些網段。語法如下:
# masscan 0.0.0.0/0 -p0-65535 --excludefile exclude.txt
你也可以把掃描的結果不輸出到命令行,輸出到指定文件中
# masscan 0.0.0.0/0 -p0-65535 -oX scan.xml
這條命令把掃描的結果保存在一個XML文件中
當前的掃描器使用的是默認的速率100包/秒,如果是掃描全網的話,需要提高速度。
# masscan 0.0.0.0/0 -p0-65535 --max-rate 100000
這條命令將以每秒10萬包的速率進行掃描
上述的這些命令可能輸入起來有點麻煩,我們可以通過創建配置文件,然后用加載配置文件的方式運行。配置文件的內容如下所示:
rate = 100000
output-format = xxx
output-status = all
output-filename = xxx.xxx
ports = 0-65535
range = 0.0.0.0-255.255.255.255
excludefile = exclude.txt
掃描時,用 -c 加載配置文件,這樣的話,你進行重復掃描會省很多的力氣。
結果輸出
主要有5種輸出的格式
XML 默認格式 使用-oX <filename> 或者使用 –output-format xml 和 –output-filename <filename>進行指定
binary masscan內置格式
grepable nmap格式 使用 -oG <filename> 或者 –output-format grepable 和 –output-filename <filename>進行指定
json 使用 -oJ <filename> 或者 –output-format json 和 –output-filename <filename>進行指定
list 簡單的列表,每行一個主機端口對。使用-oL <filename> 或者 –output-format list 和 –output-filename <filename>進行指定
相關推薦

最新發布
性能測試之測試環境搭建的方法
2020/7/21 15:39:32軟件測試是從什么時候開始被企業所重視的呢?
2020/7/17 9:09:11Android自動化測試框架有哪些?有什么用途?
2020/7/17 9:03:50什么樣的項目適合做自動化?自動化測試人員應具備怎樣的能力?
2020/7/17 8:57:06幾大市面主流性能測試工具測評
2020/7/17 8:52:11RPA機器人能夠快速響應企業需求,是怎么做到的?
2020/7/17 8:48:05Bug可以真正消滅嗎?為什么?
2020/7/17 8:43:03軟件測試基本概念是怎么來的?軟件測試生命周期的形成歷經了什么?
2020/7/16 9:11:10