1.安装Masscan
(1)下载Masscan
从GitHub下载: 访问Masscan的GitHub页面:https://github.com/robertdavidgraham/masscan
在页面上,你可以找到最新的Release版本,点击“releases”标签页下载源代码压缩包。
也可以通过Git命令直接克隆仓库到本地:
git clone https://github.com/robertdavidgraham/masscan.git
(2)在Linux上安装
依赖安装:
在编译之前,确保已安装必要的开发工具和库,如GCC、Make等。在Debian/Ubuntu上,可以使用:
编译安装:
进入下载或克隆的masscan目录,然后执行以下命令进行编译安装:
2.Masscan基本参数
-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>: 从指定的文件中读取要扫描的IP地址范围列表。
--ping: 扫描时包括对ICMP请求的响应。
--append-output: 将结果以附加的方式输出到文件。
--iflist: 列出可用的网络接口,然后退出。
--retries: 设置发送数据包的重试次数,每次重试间隔1秒。
--nmap: 输出与nmap兼容的信息。
--http-user-agent <user-agent>: 设置HTTP请求的用户代理字段值。
--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>: 指定获取banner时的最大TCP连接维持时间,默认为30秒。
输出格式:
-oX <filespec> (XML)
-oB <filespec> (Binary)
-oG <filespec> (Grep)
-oJ <filespec> (Json)
-oL <filespec> (List)
-oU <filespec> (Unicornscan format)
3.Masscan常见扫描
(1)扫描B段(256个主机)某个特定端口例如3306
Discovered open port 1433/tcp on 192.168.2.26