Zmap是美国密歇根大学研究者开拓出一款东西。在第22届USENIX安详研讨会,以高出nmap 1300倍的扫描速度声名鹊起。对比台甫鼎鼎的nmap全网扫描速度是他最大的亮点。在千兆网卡状态下,45分钟内扫描全网络IPv4地点。
安装
64位版本 Debian/Ubuntu 系列
Step1: sudo apt-get install libgmp3-dev libpcap-dev gengetopt
Step2: wget https://github.com/zmap/zmap/archive/v1.0.3.tar.gz
Step3: tar Czxvf v1.0.3.tar.gz
Step4: cd zmap-1.0.3/src
Step5: make && make install
32版本 (zmap 主页只说合用于64位linux,这里用BT5r3 32位同样安装乐成,发起照旧只管选用64版本的)
Debian/Ubuntu 系列
Step1: sudo apt-get install libgmp3-dev libpcap-dev gengetopt
Step2: git clone git://github.com/zmap/zmap.git
Step3: tar Czxvf v1.0.2.tar.gz
Step4: cd zmap-1.0.2/src
Step5: make && make install
Fedora, Red Hat Enterprise Linux, or CentOS版本: 只把step1替换成
sudo yum install gmp gmp-devel libpcap-devel gengetopt
假如想利用 redis用来存储则需要首先安装 Hiredis,并在step5中
make REDIS=true (插手此安装选项)
不是以root权限运行则需要设置:
setcap cap_net_raw=ep /usr/local/sbin/zmap
利用先容:
安装完后,可直接挪用zmap
1.最简朴的挪用
zmap -B 10M -p 80 -n 100000 -o results.txt
-B 是指的是带宽
-p 端口
-n 扫描几多个方针
-o 输出功效
整句暗示操作10M带宽扫描100000IP地点的端口,并将功效输出到results.txt中。
BT5 R3 测试时,必需插手-G 参数
zmap -B 10M -p 80 -n 100000 -G "01:00:5e:00:00:02" -o results.txt
-G 是指定出口的mac地点,必需为网关的实际mac地点,不然返回数据找不到信息。 假如扫到IP地点开了80端口,就会凭据下列名目举办生存。
115.237.116.119
23.9.117.80
207.118.204.141
217.120.143.111
2.用的最多的指令
zmap -p 443 -G "00:00:00:00:00:00"
检测全网络SSL/STL利用状况,ZMAP几个研究项目都与此有关。
可见我利用的扫描全网的所得约莫9小时16分钟,网络为10MADSL带宽,ADSL上行速度只有100k阁下,导致时间更加延迟。
3.常用参数
-p, --target-port=port
指定扫描的方针端口
-o, --output-file=name
把功效写入指定文件-o result.txt
-b, --blacklist-file=path
IP地点黑名单,譬喻192.168.0.0/16 暗示 192.168.x.x将不被扫描,默认提供一份RFC 1918保存和内网地点供参考,存放位置在conf/blacklist.conf
zmap -p 443 -G "00:00:00:00:00:00" -b conf/blacklist.conf
-n, --max-targets=n
最大扫描IP地点数量,-n 100 暗示总归扫描100个IP地点。也可指定 Cn 0.1%形式,暗示扫描撤除黑名单列表内里全网段的0.1%数量的IP地点。
-N, --max-results=n
最大扫描到功效的IP数量,-N 100 暗示扫描到100个存在的功效就遏制。
-t, --max-runtime=secs
最大扫描时间,,-t 10 暗示措施运行10s竣事。
-r, --rate=pps
配置每秒发送包的数量 Cr 10000 暗示每秒发送10k个包。
-B, --bandwidth=bps
配置每秒发送包的巨细,-B 10M 暗示每秒发送10Mbps 支持单元(GMK)。
-c, --cooldown-time=secs
配置数据包发送完之后多长时间开始接管数据(response),默认8s,TCP毗连异步接管。
-e, --seed=n
配置扫描随机地点的顺序,C语言中的伪随机种子,指定 定值每次随机扫描的IP地点顺序是一样。
-T, --sender-threads=n
配置扫描线程。默认是1,经测试单线程根基是把网络带宽充实操作。
-P, --probes=n
配置往每个IP发送包的数量,默认为1。(DDOS的参数之一)。
-d, --dryrun
打印出每个包的内容,很是实用的成果。
-s, --source-port=port|range
配置扫描的源端口,可指定范畴 Cs 30000-50000。(DDOS的参数之一)。
-S, --source-ip=ip|range
配置扫描的源IP地点,可指定范畴-S 100.100.0.1-200.200.200.200(DDOS的参数之一)。
-G, --gateway-mac=addr
配置网关的mac地点,可伪造。(DDOS的参数之一)
-M, --probe-module=name