阿虎爱分享

 

ZMap下载、安装、使用教程

搬瓦工注册链接:精品稳定服务器购买


ZMap是一个快速的互联网扫描仪。

 

ZMap是一种快速单包网络扫描器,专为Internet范围的网络调查而设计。 在具有千兆以太网连接的典型台式计算机上,ZMap能够在45分钟内扫描整个公共IPv4地址空间。 通过10gigE连接和PF_RING,ZMap可以在5分钟内扫描IPv4地址空间。

 

ZMap在GNU / Linux,Mac OS和BSD上运行。 ZMap目前已经完全实现了用于TCP SYN扫描,ICMP,DNS查询,UPnP,BACNET的探测模块,并且可以发送大量UDP探测。

如果您正在寻求更多涉及深层次的扫描,例如横幅抓取或TLS握手,请查看ZGrab,这是一个执行有状态应用层握手的姐妹项目。

 

一、ZMap下载

GitHub地址:https://github.com/zmap/zmap/

 

二、ZMap安装

由于系统很多,不同的系统有不同的安装方法,具体如下:

 

1、Debian 和 Ubuntu 安装命令:

sudo apt install zmap

 

2、Fedora、 CentOS 和 RHEL 安装命令:

sudo yum install zmap

 

3、macOS

brew install zmap

 

4、Arch Linux

sudo pacman -S zmap

 

三、ZMap 使用教程

 

用法

zmap [选项]... [子网]...

 

基本参数

-p, --target-port=port 要扫描的端口端口号(用于TCP和UDP扫描)

-o, --output-file=name 输出文件

-b, --blacklist-file=path 要以CIDR表示法排除的子网文件,例如:192.168.0.0/16

-w, --whitelist-file=path 在CIDR中将扫描限制为的子网文件符号,例如:192.168.0.0/16

 

扫描选项

-r, --rate=pps 以“数据包/秒”为单位设置发送速率

-B, --bandwidth=bps 设置发送速率,以"bits/秒"为单位(支持后缀G,M和K)

-n, --max-targets=n 要探测的目标数量(作为地址空间的百分比或数字)

-t, --max-runtime=ses 发送数据包的上限时间

-N, --max-results=n 要返回的结果数量

-P, --probes=n 要发送到每个IP的探测数,(默认值='1' )

-c, --cooldown-time=secs 发送后继续接收多长时间,最后一次探测(默认值='8')

 

-e, --seed=n 用于选择地址排列的种子

--retries=n 尝试发送数据包的最大次数,如果发送失败(默认值= '10')

 

-d, --dryrun 实际上不发送数据包

--shards=N 设置分片总数(默认值=“1”)

--shard=n 设置此扫描的哪个分片?(0索引)(默认值='0' )

 

网络选项

-s, --source-port=port|range 扫描包的源端口

-S, --source-ip=ip|range 扫描包的源地址

 

-G, --gateway-mac=addr 指定网关MAC地址

--source-mac=addr 源MAC地址

 

-i, --interface=name 指定要使用的网络接口

-X, --vpn 发送IP数据包而不是以太网(用于VPN)

 

探针模块

-M, --probe-module=name 择探测模块(默认=`tcp_synscan')

--probe-args=args 传递给探测模块的参数

--list-probe-modules 列出可用的探针模块

 

Probe-module(tcp_synscan)帮助:

探测模块,用于将TCP SYN数据包发送到特定端口。 可能分类是:synack和rst。 SYN-ACK数据包被认为是成功的并且重置分组被认为是失败的响应。

 

数据输出

-f, --output-fields=fields 应在结果集中输出的字段

 

-O, --output-module=name 选择输出模块(默认=`default')

--output-args=args 传递给输出模块的参数

--output-filter=filter 指定响应字段的过滤器,限制将哪些响应发送到输出模块

--list-output-modules 列出可用的输出模块

--list-output-fields 列出可以选择输出的所有字段探针模块

 

输出模块(csv)帮助:

默认情况下,ZMap打印出唯一的成功的IP地址(例如,来自的SYN-ACK)以ASCII格式(例如,192.168.1.5)到stdout或指定的TCP SYN扫描输出文件。 在内部,这由“csv”输出模块处理,并且是相当于运行:

zmap --output-module=csv --output-fields=saddr --output-filter="success = 1 && repeat = 0"

 

记录和元数据

-v, --verbosity=n 日志细节级别(0-5)(默认=“3”)

-l, --log-file=name 将日志条目写入文件

-L, --log-directory=directory 将日志条目写入此时间戳文件目录

-m, --metadata-file=name 扫描元数据(JSON)的输出文件

-u, --status-updates-file=name 将扫描进度更新写入CSV文件

 

-q, --quiet 不打印状态更新

--disable-syslog 禁用日志消息到syslog

--notes=notes 将用户指定的注释注入扫描元数据

--user-metadata=json 将用户指定的JSON元数据注入扫描元数据

 

其他选项

-C, --config=filename 读取可以指定的配置文件,任何这些选项(default=`/etc/zmap/zmap.conf')

--max-sendto-failures=n 描前最大NIC,发送失败中止(默认=`-1')

--min-hitrate=n 扫描前扫描可以达到的最低命中率,已中止(默认='0.0')

 

-T, --sender-threads=n 用于发送数据包的线程(默认='1')

--cores=STRING 逗号分隔的核心列表

--ignore-invalid-hosts 忽略“白名单/黑名单”中的无效主机文件

 

-h, --help 打印帮助并退出

-V, --version 打印版本并退出

 

例子

zmap -p 80 (在Internet上查找tcp / 80上的主机并输出到stdout)

zmap -N 5 -B 10M -p 80(找到5个HTTP服务器,以10 Mb / s扫描)

zmap -p 80 10.0.0.0/8 192.168.0.0/16 -o (在tcp / 80上扫描两个子网)

zmap -p 80 1.2.3.4 10.0.0.3 (tcp / 80上的扫描1.2.3.4,10.0.0.3)

zmap -N 5 -B 10M -p 80 --output-module=csv --output-fields=* -o /home/ip.csv

实例

#利用10M带宽扫描100000IP地址的端口,并将结果输出到results.txt中
# zmap -B 10M -p 80 -n 100000 -o results.txt

ZMap扫描全网cdn例子:

wget http://www.ipdeny.com/ipblocks/data/countries/hk.zone #香港IP,全球IP也可以从这里找到 
zmap -w hk.zone -p 80 -B 100M -o hk.res
./zgrab -input-file=hk.res -senders=2000 -data-"./http-reg" | grep -E 'memberlogin' >> x.txt

 

也可以从APNIC 获取全网 IP 段:

wget -c http://ftp.apnic.net/stats/apnic/delegated-apnic-latest #全网IP,天朝好像扫不到


搬瓦工注册链接:精品稳定服务器购买

未经允许不得转载:阿虎爱分享----致力于分享各种免费资源 > ZMap下载、安装、使用教程

评论

留言与评论(共有 0 条评论)
   
验证码: