masscan 的定位
masscan 用异步发包实现高吞吐,适合在授权网段快速摸底开放端口面:可以先在几分钟内扫完整个网段,再用更精确的工具对命中的端口做服务识别。它的代价是没有服务识别能力、丢包会造成漏报,而且默认速率极高,不限速就可能打满链路并触发防护设备——这属于业务影响事件,必须先报备。
基本信息
| 特点 | 异步发包,吞吐远高于常规扫描器 |
|---|---|
| 关键参数 | --rate 每秒发包数、-p 端口范围、--exclude 排除地址 |
| 运行要求 | 需要原始套接字权限(Linux 上通常需 root) |
| 复核流程 | 命中端口交由服务识别工具二次核对 |
典型使用场景
- 大型网段的开放端口快速摸底
- 评估时间窗口紧张时的资产面快速覆盖
- 与慢速精确扫描配合,先粗后细
- 授权内网段中验证防火墙策略的实际放行情况
- 资产盘点中确认非常用端口上的服务
限速与复核示例
限速与复核示例
masscan 10.0.10.0/24 -p1-65535 --rate 1000 -oL scan-list.txt # 全端口粗扫,显式限速并保留可读结果
masscan 10.0.10.0/24 -p80,443,445,3306 --rate 500 --exclude 10.0.10.1 # 常用端口,排除关键设备
nmap -sV -p 80,443,6379 10.0.10.5 # 对命中端口做服务与版本复核
wc -l scan-list.txt # 记录命中数量,便于与资产台账比对参数与影响
| 参数 | 作用 | 风险提示 |
|---|---|---|
| --rate | 每秒发包数上限 | 不限速会打满链路 |
| -p | 端口范围 | 全端口扫描耗时与流量显著上升 |
| --exclude | 排除地址 | 必须排除网络设备与生产核心 |
| -oL | 结果输出为列表文件 | 便于复核与后续处理 |
| --banners | 尝试获取横幅 | 会增加流量并可能触发告警 |
不限速的 masscan 可打满链路并触发防护设备:在客户网络中执行前必须确认限速值与时间窗口,并由客户提供紧急联系方式。
丢包会导致漏报,扫描结果不能作为“该端口未开放”的最终结论:对关键网段应用更慢的速率复扫,或改用精确扫描工具交叉验证。