Masscan号称是世界上最快的扫描软件,传输速度可以达到2500万个数据包/秒,足以在不到5分钟的时间内扫描整个互联网。实现的这样的系统只需要一台4核Sever,双端口10G网卡。
Masscan传输原理Masscan使用自定义TCP / IP堆栈,除简单端口扫描之外的任何其他操作都将导致与本地TCP / IP堆栈冲突。因此MASSCAN不建立完整的TCP连接,收到SYN/ACK之后,发送RST结束连接。
备注:banners除外。
Masscan是一种典型的“async / syn-cookie”扫描仪,它的扫描结果类似于nmap,在内部结构上,它更像unicornscan和ZMap,都采用了异步传输的方式。对比unicornscan和ZMap,Masscan的优势在于:
Masscan安装
- 速度快,在使用双端口卡的情况下,Masscan能够达到每秒3000万个数据包。
- 灵活性强,“加密的单调递增索引”,它允许自定义任意的地址范和端口范围,大大的增加了masscan的灵活性。
- 兼容性强,支持运行在Windows,Macintosh,Linux,OpenBSD各类系统。
在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模式
使用示例
扫描给定再往中的某个端口,比如(192.168.1.0/24)中的(-p22,80,445 )
root@kali:~# masscan -p22,80,445 192.168.1.0/24 Starting masscan 1.0.3 (http://bit.ly/14GZzcT) at 2014-05-13 21:35:12 GMT -- forced options: -sS -Pn -n --randomize-hosts -v --send-eth Initiating SYN Stealth Scan Scanning 256 hosts [3 ports/host] Discovered open port 22/tcp on 192.168.1.217 Discovered open port 445/tcp on 192.168.1.220 Discovered open port 80/tcp on 192.168.1.230
更多介绍和使用,请参考:https://github.com/robertdavidgraham/masscan
,