• 欢迎访问挑战自我博客网站,安全研究,web渗透,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入挑战自我博客网站 网站主页

记录我的masscan安装、研究、测试之旅

tool 挑战自我 1065次浏览 已收录 0个评论

1、写在开头的话

早就听说了masscan这款扫描神器了,一直没得时间去研究测试,近几天脑袋终于休息休息,趁机在家里思考思考最近的几个工作。大致整理了下关于web研究测试这块,发现前期早就记下了关于masscan的研究计划,居然一直搁浅在那里,有违我的职业原则啊!而且,关于端口扫描这一块,虽然前期的portscan基本能够胜任总体工作,但是nmap的扫描速度确实有些慢,所以今天就研究研究这个masscan吧,时间不多,先初步研究,后期有深入想法,文章再做进一步修饰!

2、关于masscan的安装

masscan的安装教程有很多,我这边就懒得再重复造轮子了,但是我的安装过程确遇到了一些问题,这边再简单记录下吧!
喜欢masscan的人,或者说想去尝试masscan的人,肯定是看上了它的扫描速度,试问一个号称“最快可以在六分钟内扫遍互联网”的神器,谁不想尝试下呢!
那么,首先选取下测试机的操作系统,鉴于多线程并发问题,类Unix系统必然是首选,我这边选用Ubuntu 16.04;
其次,根据github上给出的安装的过程如下:

github页面:
https://github.com/robertdavidgraham/masscan

Ubuntu的安装过程如下:
$ sudo apt-get install git gcc make libpcap-dev
$ git clone https://github.com/robertdavidgraham/masscan
$ cd masscan
$ make

根据上面的过程,我一路往下走,发现在make上面出错了,具体报错信息如下:

ubuntu@VM-ubuntu:~/masscan$ make
clang -g -ggdb    -Wall -O3 -c src/crypto-base64.c -o tmp/crypto-base64.o
make: clang: Command not found
Makefile:87: recipe for target 'tmp/crypto-base64.o' failed
make: *** [tmp/crypto-base64.o] Error 127

根据出错信息,发现clang这个没装,但是国内的所有教程居然都没有写这个,难道仅仅是我一个人遇到这个问题?算了,直接安装吧:

sudu apt-get install clang

安装完clang之后就可以正常make了,成功安装后运行程序如下:

ubuntu@VM-ubuntu:~/masscan/bin$ ./masscan 
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>

3、关于masscan的使用测试

3.1、详细参数

IP地址范围,有三种有效格式:
1、单独的IPv4地址
2、类似"10.0.0.1-10.0.0.233"的范围地址
3、CIDR地址 类似于"0.0.0.0/0",多个目标可以用都好隔开

-p  指定端口进行扫描
--banners 获取banner信息,支持少量的协议
--rate 指定发包的速率
-c,--conf 读取配置文件进行扫描
--echo 将当前的配置重定向到一个配置文件中
-e,--adapter 指定用来发包的网卡接口名称
--adapter-ip 指定发包的IP地址
--adapter-port 指定发包的源端口
--adapter-mac 指定发包的源MAC地址
--router-mac 指定网关的MAC地址
--exclude IP地址范围黑名单,防止masscan扫描
--excludefile 指定IP地址范围黑名单文件
--includefile,-iL 读取一个范围列表进行扫描
--ping 扫描应该包含ICMP回应请求
--append-output 以附加的形式输出到文件
--iflist 列出可用的网络接口,然后退出
--retries 发送重试的次数,以1秒为间隔
--nmap 打印与nmap兼容的相关信息
--http-user-agent 设置user-agent字段的值
--show [open,close] 告诉要显示的端口状态,默认是显示开放端口
--noshow [open,close] 禁用端口状态显示
--pcap 将接收到的数据包以libpcap格式存储
--regress 运行回归测试,测试扫描器是否正常运行
--ttl 指定传出数据包的TTL值,默认为255
--wait 指定发送完包之后的等待时间,默认为10秒
--offline 没有实际的发包,主要用来测试开销
-sL 不执行扫描,主要是生成一个随机地址列表
--readscan 读取从-oB生成的二进制文件,可以转化为XML或者JSON格式
--connection-timeout 抓取banners时指定保持TCP连接的最大秒数,默认是30秒

3.2、参数搭配设计

1、扫描指定IP文件中的地址
./masscan -iL ip.txt -oX result.txt -p1-65535 --banners --rate=10000

其中,ip.txt的格式如下所示,一个一行。

1.1.0.0/16
192.168.1.1/24

2、设置黑名单来让扫描器扫描时忽略一些网段。语法如下:

masscan 1.1.1.1/8 -p0-65535 --excludefile exclude.txt

3、扫描器速度设置
当前的扫描器使用的是默认的速率100包/秒,如果是扫描全网的话,需要提高速度。

masscan 0.0.0.0/0 -p0-65535 --max-rate 100000

这条命令将以每秒10万包的速率进行扫描

4、关于masscan使用的几点建议

masscan的发包速度非常快,在windows中,它的发包速度可以达到每秒30万包;在Linux中,速度可以达到每秒160万。masscan在扫描时会随机选择目标IP,所以不会对远程的主机造成压力。
默认情况下,masscan的发包速度为每秒100包,为了提高速度,可以设置为 –rate 100000
当然,这些都是建立在较高的机器性能和较高的带宽的前提下的,如果你是家庭的ADSL,那么就不要用那么高的发包速度了,不然准确性会非常差,所以个人建议先对自己的扫描环境进行一个简单测试。


挑战自我博客, 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明记录我的masscan安装、研究、测试之旅
喜欢 (6)
支付宝[]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址