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


前言

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 中的换行符对比

  • 19
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值