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上,可以使用:
sudo apt-get update
sudo apt-get install build-essential
编译安装:
进入下载或克隆的masscan目录,然后执行以下命令进行编译安装:
cd masscan
make
sudo make install
2.Masscan基本参数
-p
--banners: 获取服务的banner信息,支持一些协议。
--rate
-c
--echo: 将当前的配置信息保存到配置文件中。
-e
--adapter-ip
--adapter-port
--adapter-mac
--router-mac
--exclude
--excludefile
--includefile, -iL
--ping: 扫描时包括对ICMP请求的响应。
--append-output: 将结果以附加的方式输出到文件。
--iflist: 列出可用的网络接口,然后退出。
--retries: 设置发送数据包的重试次数,每次重试间隔1秒。
--nmap: 输出与nmap兼容的信息。
--http-user-agent
--show [open,close]: 指定要显示的端口状态,可选值为开放或关闭,默认为开放端口。
--noshow [open,close]: 禁止显示端口状态。
--pcap
--regress: 运行回归测试,以验证扫描器的正确运行。
--ttl
--wait
--offline: 不实际发送数据包,主要用于测试开销。
-sL: 不进行扫描,只生成随机地址列表。
--readscan
--connection-timeout
输出格式:
-oX
-oB
-oG
-oJ
-oL
-oU
3.Masscan常见扫描
(1)扫描B段(256个主机)某个特定端口例如3306
sudo masscan 192.168.2.1/24 -p 3306
Discovered open port 3306/tcp on 192.168.2.64
Discovered open port 3306/tcp on 192.168.2.40
Discovered open port 3306/tcp on 192.168.2.63
Discovered open port 3306/tcp on 192.168.2.45
Discovered open port 3306/tcp on 192.168.2.26
Discovered open port 1433/tcp on 192.168.2.26
(2)扫描B段,同时指定一个虚假的IP地址192.168.2.200
masscan 192.168.1.1/24 -p80 --banners --source-ip 192.168.2.200
#添加源ip来欺骗目标服务器
sudo masscan -p1-1000 116.50.146.70 --adapter-ip 114.114.114.114
(3)扫描某个主机的所有端口
masscan -p 1-65535 192.168.2.26 --rate 1000 # 扫描所有端口,设置速率为1000
(4)扫描输出文件
masscan -p 1-65535 -iL ips.txt --rate=10000 -oL scan_results.txt
masscan -iL ips.txt -oJ output.json # 从文件中读取IP列表,输出为JSON格式