基于Ubuntu系统的ZMap安装与使用教程

本文详细介绍了在Ubuntu20.04系统上安装ZMap,包括官方推荐的源码安装步骤和V4/V6探测的命令使用示例。重点讲解了V6探测中的参数和注意事项,为读者提供了一个完整的ZMap使用教程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前言

ZMap是一款强大的网络扫描工具,在1Gbps带宽下,可以在45分钟内扫描全部v4空间,在10Gbps带宽下,可以在5分钟内扫描全部v4空间。本文从ZMap的安装开始讲起,详细介绍ZMap的安装与使用(包括v4探测和v6探测)全流程,除了作为自己的知识积累外,还希望能帮助到更多人~
注:本文基于ubuntu20.04系统


一、ZMap的安装

ZMap有两种安装途径:源码、软件库。

软件库

一行命令:

sudo apt install zmap

源码(官方推荐)

基于源码安装是官方文档推荐的安装方式,但是这种安装方式要比从软件库中安装麻烦一点儿。具体流程如下:
1.下载安装包
基于我对v6地址探测的需求,所以我直接从github中下载了ZMapv6安装包(就下该网址下的这个版本就行),ZMapv6兼容v4探测。
:README中说推荐使用 ZMap 3.0.0 Beta 1,但是ZMap 3.0.0不支持v6探测,很坑!(害我苦苦调试了一天)如果需要v6探测,就下上面网址中的2.1.1版本,如果仅进行v4探测,可以下载最新的3.0.0版本。

2.依赖包安装
下载并解压缩安装包后,为保证顺利安装,需要先安装一些依赖包。ubuntu下安装这些依赖包的命令为:

sudo apt-get install build-essential cmake libgmp3-dev gengetopt libpcap-dev flex byacc libjson-c-dev pkg-config libunistring-dev

3.ZMap安装
安装好依赖包后,就可进行ZMap的安装。首先进入ZMap安装包文件夹,然后执行如下三条命令:

cmake .
make -j4
sudo make install

正确执行完毕即完成了ZMap的安装。

二、ZMap的使用

V4探测

详细内容可参考官方指南,这里只列举几个典型命令。
1.以10Mbps的速率扫描80端口上的随机10000个地址,扫描结果存储到文件results.csv中:

zmap -B 10M -p 80 -n 10000 -o results.csv

2.扫描特定的CIDR地址块。例如:扫描80端口上的10.0.0.0/8和192.168.0.0/16:

zmap -p 80 10.0.0.0/8 192.168.0.0/16

3.一次扫描多个端口:

zmap -p 80,443,445-447,500-502

如果命令运行成功,ZMap会输出以下信息:

0% (1h51m left); send: 28777 562 Kp/s (560 Kp/s avg); recv: 1192 248 p/s (231 p/s avg); hits: 0.04%
0% (1h51m left); send: 34320 554 Kp/s (559 Kp/s avg); recv: 1442 249 p/s (234 p/s avg); hits: 0.04%
0% (1h50m left); send: 39676 535 Kp/s (555 Kp/s avg); recv: 1663 220 p/s (232 p/s avg); hits: 0.04%
0% (1h50m left); send: 45372 570 Kp/s (557 Kp/s avg); recv: 1890 226 p/s (232 p/s avg); hits: 0.04%

V6探测

ZMap中有两个比较重要的与v6探测相关的参数:–ipv6-source-ip和–ipv6-target-file。
–ipv6-source-ip:探测点的v6地址,一般为运行ZMap的服务器的地址
–ipv6-target-file:待探测的v6地址集文件,可以是txt形式,每行一个地址。

:地址集文件中,每行仅能以"\n"结尾,如果包含其他字符,会报错:could not parse IPv6 address from line。因为在windows中,换行符是"\r\n",mac中,换行符是"\r",所以在将地址集文件从windows/mac系统复制到linux系统时,需先进行格式转换(第二个坑),可以使用Nodepad++工具,具体方法参考:Linux、Windows 和 Mac 中的换行符对比

官方对v6探测介绍的不多,没有给出具体例子说明。这里我简单举个例子:

zmap --ipv6-source-ip=your-ipv6 --ipv6-target-file=./seed.txt -M icmp6_echoscan -B 10M -o result.csv

以上命令表示:基于ICMP探测形式,以10M带宽探测seed.txt中的v6地址,并将探测到的活跃地址写入result.csv文件。
运行效果如下:
在这里插入图片描述


参考文献

[1].IPv6地址空间扫描工具ZMapv6、XMap
[2].官方文档
[3]Linux、Windows 和 Mac 中的换行符对比

### 关于 ZMap使用教程 ZMap 是一种高效的网络扫描工具,专为大规模互联网范围内的扫描而设计。它能够快速执行端口扫描并生成报告,适用于研究和安全评估场景[^1]。 以下是关于 ZMap 使用的一些核心概念及其操作方法: #### 安装 ZMap 在基于 Linux 的操作系统安装 ZMap 可通过包管理器完成。例如,在 Ubuntu 或 Debian 上可以运行以下命令来安装: ```bash sudo apt-get update sudo apt-get install zmap ``` 对于其他发行版或自定义编译环境,则需从源码构建 ZMap。具体过程可参考官方文档中的说明[^3]。 #### 基本语法结构 ZMap 的基本命令格式如下所示: ```bash zmap [options] ``` 其中 `[options]` 参数用于指定目标地址、端口号以及其他高级设置。常见的选项包括但不限于 `-p` (指定端口),`--probe-module` (选择探测模块) 和 `--output-file` (保存输出文件)[^1]。 #### 实际案例分析 假设要扫描整个 IPv4 地址空间上的 HTTP(S) 服务状态,可以采用如下指令: ```bash zmap -p 443 --probe-module=http_get --output-file=results.csv ``` 此命令会向全球范围内开放的 HTTPS 站点发送请求,并把响应数据存储至 CSV 文件以便后续处理[^2]。 需要注意的是,在实际部署前应充分了解法律法规要求,确保合法合规地运用此类技术手段。 ### 提供的功能特性概述 相比 Angry IP Scanner 这样的图形界面型应用而言,ZMap 更侧重性能优化灵活性扩展;同时配合像 RustScan 这样新兴框架还能进一步增强其能力边界——后者支持无缝对接 Nmap 来实现深层次检测。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值