Masscan號稱是最快的互聯網端口掃描器,最快能夠在六分鐘內掃遍互聯網。
python
https://github.com/robertdavidgraham/masscanlinux
安裝masscan
在 Debian/Ubuntu 上編譯 masscan:git
$ sudo apt-get install git gcc make libpcap-dev
$ git clone https://github.com/robertdavidgraham/masscan
$ cd masscan
$ make
$ cp bin/masscan /bin/
masscan
經過 masscan -h
能夠看到 masscan的具體用法,其中 masscan與上文講到的nmap是部分兼容的,經過masscan --nmap
方式,列舉出兼容的參數,能夠與nmap無縫銜接。github
usage:
masscan -p80,8000-8100 10.0.0.0/8 --rate=10000
scan some web ports on 10.x.x.x at 10kpps
masscan --nmap
list those options that are compatible with nmap
masscan -p80 10.0.0.0/8 --banners -oB <filename>
save results of scan in binary format to <filename>
masscan --open --banners --readscan <filename> -oX <savefile>
read binary scan results in <filename> and save them as xml in <savefile>
masscan相對於nmap沒有這麼大而全,可是依然是比較流行的端口掃描工具。它比nmap這些掃描器更快,並且masscan更加靈活,它容許自定義任意的地址範圍和端口範圍。web
masscan的發包速度很是快,在windows中,它的發包速度能夠達到每秒30萬包;在Linux中,速度能夠達到每秒160萬。masscan在掃描時會隨機選擇目標IP,因此不會對遠程的主機形成壓力。默認狀況下,masscan的發包速度爲每秒100包,爲了提升速度,能夠設置爲 --rate 100000
。shell
詳細參數
與nmap兼容的參數再也不贅述,接下來說解一下masscan獨有的使用方法。json
IP地址範圍,有三種有效格式,一、單獨的IPv4地址 二、相似"10.0.0.1-10.0.0.233"的範圍地址 三、CIDR地址 相似於"0.0.0.0/0",多個目標能夠用都好隔開windows
-p <ports,--ports <ports>> 指定端口進行掃描安全
--banners 獲取banner信息,支持少許的協議微信
--rate <packets-per-second> 指定發包的速率
-c <filename>, --conf <filename> 讀取配置文件進行掃描
--echo 將當前的配置重定向到一個配置文件中
-e <ifname> , --adapter <ifname> 指定用來發包的網卡接口名稱
--adapter-ip <ip-address> 指定發包的IP地址
--adapter-port <port> 指定發包的源端口
--adapter-mac <mac-address> 指定發包的源MAC地址
--router-mac <mac address> 指定網關的MAC地址
--exclude <ip/range> IP地址範圍黑名單,防止masscan掃描
--excludefile <filename> 指定IP地址範圍黑名單文件
--includefile,-iL <filename> 讀取一個範圍列表進行掃描
--ping 掃描應該包含ICMP迴應請求
--append-output 以附加的形式輸出到文件
--iflist 列出可用的網絡接口,而後退出
--retries 發送重試的次數,以1秒爲間隔
--nmap 打印與nmap兼容的相關信息
--http-user-agent <user-agent> 設置user-agent字段的值
--show [open,close] 告訴要顯示的端口狀態,默認是顯示開放端口
--noshow [open,close] 禁用端口狀態顯示
--pcap <filename> 將接收到的數據包以libpcap格式存儲
--regress 運行迴歸測試,測試掃描器是否正常運行
--ttl <num> 指定傳出數據包的TTL值,默認爲255
--wait <seconds> 指定發送完包以後的等待時間,默認爲10秒
--offline 沒有實際的發包,主要用來測試開銷
-sL 不執行掃描,主要是生成一個隨機地址列表
--readscan <binary-files> 讀取從-oB生成的二進制文件,能夠轉化爲XML或者JSON格式.
--connection-timeout <secs> 抓取banners時指定保持TCP鏈接的最大秒數,默認是30秒。
示例
1.掃描指定網段範圍的指定端口
使用方法相似於nmap,掃描指定網段範圍的指定端口
masscan -p80,8080-8100 10.0.0.0/8
這條命令將完成以下工做:
掃描10.x.x.x子網,大約有1600萬個地址
掃描端口80和8000-8100範圍的端口段
打印結果到標準輸出,也能夠重定向到一個文件
可使用 --echo 將當前的配置輸出到一個配置文件,利用 -c 來制定配置文件進行掃描:
masscan -p80,8000-8100 10.0.0.0/8 --echo > scan.conf
masscan -c scan.conf --rate 1000
2.獲取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地址。
3.全網掃描 (輕易不要玩,容易被請去喝茶)
能夠對整個互聯網發起掃描,使用的命令以下
masscan 0.0.0.0/0 -p0-65535
咱們能夠經過設置--excludefile作爲黑名單,來讓掃描器掃描時忽略一些網段,並將掃描的結果輸出到指定文件中。語法以下:
masscan 0.0.0.0/0 -p0-65535 --excludefile exclude.txt -oX scan.xml
掃描器使用的是默認的速率100包/秒,若是是掃描全網的話,須要提升速度。這條命令將以每秒10萬包的速率進行掃描:
masscan 0.0.0.0/0 -p0-65535 --rate 100000
若是不想輸入命令,能夠經過建立配置文件,而後用加載配置文件的方式運行。配置文件的內容以下所示:
rate = 100000
output-format = xml
output-status = all
output-filename = scan.xml
ports = 0-65535
range = 0.0.0.0-255.255.255.255
excludefile = exclude.txt
掃描時,用 -c 加載配置文件 便可完成掃描。
結果輸出
默認狀況下,masscan會生成至關大的文本文件,可是很容易將它們轉換爲任何其餘格式。支持五種輸出格式:
xml:只需使用參數-oX
。或者,使用參數--output-format xml和--output-filename <filename> 。 二進制:這是masscan內置格式。它產生的文件要小得多,所以,當我掃描Internet時,磁盤不會填滿。可是,它們須要解析。命令行選項--readscan將讀取二進制掃描文件。--readscan與該-oX選項一塊兒使用將生成結果文件的XML版本。
grepable:這是Nmap -oG輸出的實現,能夠經過命令行工具輕鬆地對其進行解析。只需使用參數-oG
。或者,使用參數--output-format grepable和 --output-filename <filename> 。 json:這會將結果保存爲JSON格式。只需使用參數-oJ
。或者,使用參數--output-format json和 --output-filename <filename> 。 list:這是一個簡單的列表,每行一個主機和端口對。只需使用參數-oL
。或者,使用參數 --output-format list和--output-filename <filename> 。格式爲:
<port state> <protocol> <port number> <IP address> <POSIX timestamp>
open tcp 80 XXX.XXX.XXX.XXX 1390380064
最後
最近有朋友說在後臺和七夜交流技術不是很方便,下面是七夜的微信號,想進行技術交流的能夠加他,備註公衆號,賣貨的,伸手黨不要加,謝謝。
推薦閱讀
沙盒syscall監控組件:strace and wtrace
無"命令"反彈shell-逃逸基於execve的命令監控(上)
若是你們喜歡這篇文章的話,請不要吝嗇分享到朋友圈,並置頂公衆號。
關注公衆號:七夜安全博客
回覆【11】:領取Sandboxie源碼
回覆【1】:領取 Python數據分析 教程大禮包
回覆【2】:領取 Python Flask 全套教程
回覆【3】:領取 某學院 機器學習 教程
回覆【4】:領取 爬蟲 教程
回覆【5】:領取編譯原理 教程
回覆【6】:領取滲透測試教程
回覆【7】:領取人工智能數學基礎
回覆【8】:領取 python神經網絡 教程
回覆【9】:領取 安卓逆向 教程
本文分享自微信公衆號 - 七夜安全博客(qiye_safe)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。