如何快速扫描全网端口
字数 1116 2025-08-10 00:24:04
全网端口快速扫描技术详解:Zmap与Masscan使用指南
概述
本文档详细介绍了两种业界知名的快速端口扫描工具:Zmap和Masscan。这两种工具通过创新的扫描技术,能够以远超传统工具(如nmap)的速度完成全网端口扫描任务。
技术原理
传统端口扫描方式在验证端口开放时,发送数据包后需要等待目标返回响应,这种同步等待机制在网络环境差时会导致显著延迟。Zmap和Masscan采用以下创新技术:
- 异步扫描架构:将发送数据包和接收数据包分成两个独立阶段
- 消除等待时间:发包程序专注于发送,收包程序独立记录结果
- 高速发包能力:Masscan可达每秒1亿数据包,Zmap在千兆网卡下45分钟可扫描全IPv4地址空间
Zmap详解
安装与配置
系统要求:具有公网IP的服务器,扫描速度取决于带宽大小
CentOS 8安装步骤:
- 安装依赖环境:
yum install cmake gmp-devel gengetopt libpcap-devel flex byacc json-c-devel libunistring-devel
- 手动安装缺失组件:
# install gengetopt
rpm -vi https://forensics.cert.org/centos/cert/8/x86_64/gengetopt-2.23-1.el8.x86_64.rpm
# install libpcap-devel
rpm -vi http://mirror.centos.org/centos/8/PowerTools/x86_64/os/Packages/libpcap-devel-1.9.1-4.el8.x86_64.rpm
# install json-c-devel
rpm -vi http://mirror.centos.org/centos/8/PowerTools/x86_64/os/Packages/json-c-devel-0.13.1-0.2.el8.x86_64.rpm
# install libunistring-devel
rpm -vi http://mirror.centos.org/centos/8/PowerTools/x86_64/os/Packages/libunistring-devel-0.9.9-3.el8.x86_64.rpm
- 编译安装Zmap:
git clone https://github.com/zmap/zmap/
cd zmap
cmake .
make -j4
make install
使用场景
- 扫描全网80端口(1M带宽,随机扫描1000个IP):
zmap --bandwidth=1M --target-port=80 --max-targets=1000 --output-file=results.csv
# 或简写
zmap -B 1M -p 80 -n 1000 -o results.csv
- 扫描指定网段的53端口:
zmap -p 53 8.8.8.0/24
- 敏感目标排除扫描:
编辑/etc/zmap/blacklist.conf文件添加需要排除的IP或网段
相关工具
- ZGrab:获取端口banner信息,支持多种协议(HTTP, HTTPS, SSH等)
- ZDNS:收集存在域传送漏洞的DNS服务器记录,支持多种记录类型
Masscan详解
安装与配置
CentOS 8安装步骤:
git clone https://github.com/robertdavidgraham/masscan
cd masscan
make
make install
使用场景
- 基本端口扫描:
masscan -p53 8.8.8.0/24
- 获取端口banner信息:
masscan -p80 47.94.225.0/24 --banners
- 全网扫描:
masscan 0.0.0.0/0 -p0-65535
- 排除特定网段:
masscan 0.0.0.0/0 -p0-65535 --excludefile exclude.txt
- 保存扫描结果(XML格式):
masscan 0.0.0.0/0 -p0-65535 -oX scan.xml
- 调整扫描速率:
masscan 0.0.0.0/0 -p0-65535 --max-rate 100000
- 兼容nmap参数:
masscan -sS -Pn 47.94.225.0/24 -p 80
性能对比
| 工具 | 扫描速度 | 特点 |
|---|---|---|
| Zmap | 千兆网卡下45分钟扫描全IPv4 | 专注于快速发现开放端口 |
| Masscan | 5分钟扫描全互联网,每秒1亿数据包 | 更高速度,兼容部分nmap参数 |
应用场景
- 资产监控:及时发现不应对外开放的端口和服务
- 安全评估:识别临时开放的高风险服务
- 威胁情报:收集全网服务分布情况
注意事项
- 扫描前确保获得合法授权
- 避免对敏感目标进行扫描
- 合理设置扫描速率,避免对网络造成过大负担
- 遵守当地法律法规
资源链接
- Zmap官网:https://zmap.io
- Zmap开源项目:https://github.com/zmap/zmap/
- Masscan项目:https://github.com/robertdavidgraham/masscan
- 开放数据下载:https://opendata.rapid7.com