masscan号称是最快的互联网端口扫描器,最快可以在六分钟内扫遍互联网。

在全网段资产扫描时,nmap已经无法满足使用。无论添加-n -sS -T5 -Pn ,不得以转用最快速度的masscan。

masscan 也能够自定义扫描对象,甚至排除端口、排除特定IP,不同IP之间用英文状态逗号连接等。

masscan的发包速度非常快,在windows中,它的发包速度可以达到每秒30万包;在Linux中,速度可以达到每秒160万。masscan在扫描时会随机选择目标IP,所以不会对远程的主机造成压力。

masscan相比nmap之所以快很多,masscan采用了异步传输方式,无状态的扫描方式。nmap需要记录tcp/ip的状态,os能够处理的TCP/IP连接最多为1500左右。MASSCAN不建立完整的TCP连接,收到SYN/ACK之后,发送RST结束连接。选项--banners除外。

github地址:https://github.com/robertdavidgraham/masscan

masscan安装

git clone https://github.com/robertdavidgraham/masscan.git
cd masscan
make

这时候程序放在masscan/bin子目录中。也可以将masscan 复制到 /usr/local/bin目录下,方便调用
cd masscan/bin
cp masscan /usr/local/bin

基本使用方法

<1>使用的话 要使用root权限或者sudo才能正常使用
sudo masscan -p80 192.168.0.0/24

读取文件扫描并输出
sudo masscan -iL target.txt -p0-65535 -oX filename

masscan -p0-65535 28.41.0.0/16 --banners --rate 100000000

masscan --ping 28.41.0.0/16 --rate 1000000 #主机存活

默认情况下,Masscan扫描速度为每秒100个数据包

<2>masscan -p443 28.41.0.0/16 --banners --heartbleed #--banners 进行漏洞扫描任务,--heartbleed masscan仅支持该漏洞扫描选项,首先监测端口,软后发送漏洞探测数据包

masscan -p80,8000-8100 28.41.0.0/16 --echo > test.conf #导出配置文件 masscan -c test.conf --rate 100000000

masscan -p80 28.41.0.0/16 -oX xx.xml (-oJ xx.json -oL xx.list)

默认情况下,masscan的发包速度为每秒100包,为了提高速度,可以设置为 –rate 100000
当然,这些都是建立在较高的机器性能和较高的带宽的前提下的,如果你是家庭的ADSL,那么就不要用那么高的发包速度了,不然准确性会非常差,所以个人建议先对自己的扫描环境进行一个简单测试。

扫描结果处理:masscan 192.168.0.0/16 -p80,8080 >> a.txt

<3>扫描196.168.20.10 的 554-555的端口,并输出json格式的result

sudo masscan 192.168.0.0/16 -p554-555 --max-rate 200000 --banners -oJ result.json

  • -p 扫描所有端口指定
  • --banners 获取banner值
  • --max-rate 每秒发的包数量,根据机器和网络情况自行选择
  • -oJ result.json 将扫描结果输出为json文件

查看扫描日志cat result.json会发现某些IP中554端口处于打开状态。

其他命令请参考帮助文档https://github.com/robertdavidgraham/masscan/blob/master/README.md

masscan使用举例

扫描

<1>单ip多端口

扫描115.115.115.115 ip 0-20000的端口

masscan 115.115.115.115 -p0-20000

<2>扫描115.115.115.115 ip 21和80端口

masscan 115.115.115.115 -p21,80

<3>多ip单端口

扫描115.115.0.0-115.115.255.255 ip 80端口

masscan 115.115.0.0-115.115.255.255 -p80

<4>快速扫描

默认情况下,Masscan扫描速度为每秒100个数据包,这是相当慢的。为了增加这一点,只需提供该-rate选项并指定一个值。
每秒10000个数据包:

masscan 115.115.0.0-115.115.255.255 -p80 --rate 10000

结果保存

masscan 115.115.0.0-115.115.255.255 -p80 --rate 10000 > 115.txt

结果保存至redis

masscan 115.115.0.0-115.115.255.255 -p80 --rate 10000 --output-format redis -oR 127.0.0.1:6379

配置文件

存储为xml格式

rate =  5000.00
output-format = xml
output-filename = masscan.xml
ports = 1723,27017,6379,9100,80,898,5800,6000
range = 192.168.0.1-192.168.0.255,192.168.10.0-192.168.10.255

存储至redis

rate =  5000.00
output-format redis
redis = 127.0.0.1:6379
ports = 1723,27017,6379,9100,80,898,5800,6000
range = 192.168.0.1-192.168.0.255,192.168.10.0-192.168.10.255
运行

masscan -c masscan.conf

详细参数

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

-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.mac下使用masscan扫描端口

2.Masscan工具使用

3.Nmap配合Masscan实现高效率扫描资产

4.masscan安装、研究、测试之旅、扫描结果处理

5.masscan使用心得

6.世界上最快的端口扫描器masscan

7.mac下安装和使用masscan扫描端口

8.Masscan扫描器安装和使用

Mac安装masscan【亲测有用】相关推荐

  1. mac安装brew(亲测有效)

    在网上搜了很多brew安装方式,包括使用官网的方式都安装报错 Failed to connect to raw.githubusercontent.com port 443: Connection r ...

  2. matlab2020 安装MinGW-w64 C/C++编译器下载和安装【亲测有用】

    不做知识的搬用工了,直接上已经很成熟的链接 第一步下载:参考百度经验 链接:https://jingyan.baidu.com/article/c843ea0b414cad37921e4a62.htm ...

  3. Mac 下安装pip3 亲测有效转发一下

    https://www.jianshu.com/p/3701ff3399dd Mac 下安装pip3 亲测有效转发一下

  4. Ubuntu 18.04 安装 微信、QQ 教程+常见问题处理办法(亲测有用)

    Ubuntu 18.04 安装微信.QQ教程,亲测有用!!! 一.安装deepin-wine环境 sudo git clone https://gitee.com/wszqkzqk/deepin-wi ...

  5. Mac - Android Studio 模拟器突然打不开了解决方法,亲测有用

    因突然关机导致Android Studio没有正常退出,重启时,Android Studio模拟器打不开了 完美解决,亲测有用 解决方法如下 1.查找文件夹 2.删除文件夹下面的所有后缀为lock的文 ...

  6. Origin 手把手叫你安装【亲测有效!】

    Origin 手把手叫你安装 相信大家能看到这篇文章时,也一定被Origin强大的绘图功能折服了吧.在写这篇文章之前,我曾安装好几次Origin,但每一次都是破解不够成功和彻底,导致很多功能使用起来总 ...

  7. 解决google翻译无法使用的问题(亲测有用)

    2022年10月1日,Google突然停止了Google翻译在中国大陆的业务,不再向中国大陆区域提供翻译服务,官方给出的理由是"因为使用率低"(这谁信啊!),导致我们日常无法使用谷 ...

  8. 浏览器报错Not allowed to load local resource:的解决办法,与网上大多数都不同,亲测有用!

    浏览器报错Not allowed to load local resource:的解决办法,与网上大多数都不同,亲测有用! 起因 报错原因 吐槽 解决办法 参考 起因 因为深度学习用的是pytorch ...

  9. office2010使用mathtype时,出现未找到MathPage.WLL解决方案--亲测有用

    office2010使用mathtype时,出现未找到MathPage.WLL解决方案--亲测有用 参考文章: (1)office2010使用mathtype时,出现未找到MathPage.WLL解决 ...

  10. CentOS7 安装RabbitMQ 亲测(编写中,有大神请帮忙指点下文中遇到的问题,谢谢)...

    为什么80%的码农都做不了架构师?>>>    CentOS7 安装RabbitMQ 亲测 我按照别的博文,使用 yum install erlang 命令安装了erlang,然后再 ...

最新文章

  1. .NET开发者省份分布排名
  2. TreeTemplate树模板
  3. Linux学习笔记-Makefile的基本使用
  4. 微信 php收藏功能实现,关于微信小程序收藏功能的实现
  5. 面试题 异常的抛出和捕获
  6. spring---aop(10)---Spring AOP中AspectJ
  7. 软件开发团队中各个成员的英文简称
  8. js 的常用工具类库
  9. IPv6实验5:IPv4到IPv6的过渡
  10. HDU6834 Yukikaze and Smooth numbers
  11. 卸载精灵 v4.2 是什么
  12. BUUCTF Crypto BabyRSA
  13. 五月集训(第14天) —— 栈
  14. 影视影评类微信公众号图文排版有哪些技巧?
  15. UE4 将项目压缩成最小的Zip压缩包
  16. 为什么计算机不显示桌面工具栏,word菜单栏不见了-电脑任务栏显示桌面图标不见了怎么办...
  17. MATLAB中的特殊图像显示
  18. 使用 GPG 加密和解密文件
  19. 人类有多少可能移民火星?
  20. 悦美向小琴:从女人到女BOSS

热门文章

  1. oracle表设计实践,Oracle数据库实训报告.docx
  2. c# 中对于每次修改的程序 都必须重新手动生成 才能编译的问题
  3. 关于开发入门的一些事儿
  4. __cdecl __fastcall与 __stdcall 调用约定
  5. 一个既能做CV任务,也能做NLP任务的Transformer模型!谷歌UCLA提出统一的基础模型...
  6. 手把手带你学习如何在小程序、网页前端部署AI模型
  7. CVPR 2021 底层视觉最新进展分享
  8. SIGGRAPH 2020 | 基于样例的虚拟摄影和相机控制
  9. 近期机器学习竞赛汇总~总奖池超三百万人民币!
  10. NeurIPS 2019论文盘点:谷歌系最多,国内清华第一