5分钟内扫描整个Internet,最快的IP端口扫描程序!

5分钟内扫描整个Internet,最快的IP端口扫描程序!

Masscan号称是世界上最快的扫描软件,传输速度可以达到2500万个数据包/秒,足以在不到5分钟的时间内扫描整个互联网。实现的这样的系统只需要一台4核Sever,双端口10G网卡。

Masscan传输原理

Masscan使用自定义TCP / IP堆栈,除简单端口扫描之外的任何其他操作都将导致与本地TCP / IP堆栈冲突。因此MASSCAN不建立完整的TCP连接,收到SYN/ACK之后,发送RST结束连接。

备注:banners除外。

5分钟内扫描整个Internet,最快的IP端口扫描程序!

Masscan是一种典型的“async / syn-cookie”扫描仪,它的扫描结果类似于nmap,在内部结构上,它更像unicornscan和ZMap,都采用了异步传输的方式。对比unicornscan和ZMap,Masscan的优势在于:

  • 速度快,在使用双端口卡的情况下,Masscan能够达到每秒3000万个数据包。
  • 灵活性强,“加密的单调递增索引”,它允许自定义任意的地址范和端口范围,大大的增加了masscan的灵活性。
  • 兼容性强,支持运行在Windows,Macintosh,Linux,OpenBSD各类系统。

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模式

5分钟内扫描整个Internet,最快的IP端口扫描程序!

使用示例

扫描给定再往中的某个端口,比如(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

原文始发于:5分钟内扫描整个Internet,最快的IP端口扫描程序!