如果我的回答能给你带来帮助, 来一个友情三连,并关注我的动态,会持续获取我在安全行业的价值输出。
Masscan号称是最快的互联网端口扫描器,最快可以在六分钟内扫遍互联网。
https://github.com/robertdavidgraham/masscan
在 Debian/Ubuntu 上编译 masscan:
$ sudo apt-get install git gcc make libpcap-dev
$ git clone https://github.com/robertdavidgraham/masscan
$ cd masscan
$ make
$ cp bin/masscan /bin/
通过 masscan -h
可以看到 masscan的具体用法,其中 masscan与上文讲到的nmap是部分兼容的,通过masscan --nmap
方式,列举出兼容的参数,可以与nmap无缝衔接。
usage:
masscan -p80,8000-8100 10.0.0.0/8 --rate=10000
结果:scan some web ports on 10.x.x.x at 10kpps
masscan -p 80 192.168.1.0-192.168.1.100
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更加灵活,它允许自定义任意的地址范围和端口范围。
masscan的发包速度非常快,在windows中,它的发包速度可以达到每秒30万包;在Linux中,速度可以达到每秒160万。masscan在扫描时会随机选择目标IP,所以不会对远程的主机造成压力。默认情况下,masscan的发包速度为每秒100包,为了提高速度,可以设置为 –rate 100000
。
与nmap兼容的参数不再赘述,接下来讲解一下masscan独有的使用方法。
1.扫描指定网段范围的指定端口
使用方法类似于nmap,扫描指定网段范围的指定端口
masscan -p80,8080-8100 10.0.0.0/8
这条命令将完成如下工作:
可以使用 --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会生成相当大的文本文件,但是很容易将它们转换为任何其他格式。支持五种输出格式:
<port state> <protocol> <port number> <IP address> <POSIX timestamp>
open tcp 80 XXX.XXX.XXX.XXX 1390380064