Zmap安装教程

来源:互联网 发布:ubuntu登录root 编辑:程序博客网 时间:2024/05/18 14:23

Zmap是美国密歇根大学研究者开发出一款工具。在第22届USENIX安全研讨会,以超过nmap 1300倍的扫描速度声名鹊起。相比大名鼎鼎的nmap全网扫描速度是他最大的亮点。在千兆网卡状态下,45分钟内扫描全网络IPv4地址。

安装64位版本Debian/Ubuntu系列的Zmap

安装过程是:

sudo apt-get -y install cmake make gccsudo apt-get -y install build-essential cmake libgmp3-dev gengetopt libpcap-dev flex byacc libjson-c-dev pkg-configwget https://github.com/zmap/zmap/archive/v2.1.0.tar.gztar xvf v2.1.0.tar.gzcd zmap-2.1.0cmake [-DWITH_REDIS=ON] [-DWITH_JSON=ON] [-DENABLE_DEVELOPMENT=ON] ./make -C ./srcsudo make -C ./src install

编译banner获取工具forge_socket

修改文件examples/forge-socket/Makefile的第18行。

forge-socket: forge-socket.o xalloc.o logger.o lockfd.o

编译过程:

# Install forge-socket to the ZMap root directory:cd zmap-2.1.0git clone https://github.com/ewust/forge_socketcd forge_socketmakesudo insmod forge_socket.ko# Don't send RST packets (forge-socket will complete these connections instead)sudo iptables -A OUTPUT -p tcp -m tcp --tcp-flags RST,RST RST,RST -j DROP# Use ZMap + forge-socket simultaneously:make#echo -e -n "GET / HTTP/1.1\r\nHost: %s\r\n\r\n" > http-reqsudo suulimit -SHn 1000000 && ulimit -SSn 1000000zmap -p 80 -B 50M -N 1000 --output-fields=classification,saddr,daddr,sport,dport,seqnum,acknum,cooldown,repeat  -o - | ./forge-socket -c 8000 -d http-req > http-banners.out

编译banner获取工具banner-grab

cd zmap/examples/banner-grab

下载必须组件libevent,否则无法编译,yum下载的是1.0的版本,无法使用.

wget https://github.com/libevent/libevent/archive/release-2.0.21-stable.tar.gztar -zxvf release-2.0.21-stable.tar.gzcd release-2.0.21-stablesh autogen.sh./configuremakemake install

返回banner-grab目录,并编译

cd ../make

运行下面命令测试是否编译成功,默认会报错,因为libevent路径不对

./banner-grab-tcp

抓取指纹,简言之抓取response 为识别类似SSH,http 401之类的信息做准备。 首先向http-req 文件写入要发送的数据 (也可以自定义SSH-req 之类), 如:

echo -e -n "GET / HTTP/1.1\r\nHost: %s\r\n\r\n" > http-req(%s 保留,其他可任意构造HTTP请求,包括GET,POST)这里扩展下 banner-grab-tcp下的参数-c, --concurent   每次的连接数,最好低于1000,想要高于1000则必须设置ulimit -SSn 1000000` and `ulimit -SHn 1000000` 突破每个文件最大进程数1024-p, --port      连接的端口-t, --conn-timeout  连接超时时间-r, --read-timeout  响应超时时间-v, --verbosity     列取信息详细程度 ,与sqlmap 类似-f, --format        输出文件格式hex,ascii,base64-d, --data      发送的数据信息 就是前面设置http-req
zmap -p 80 -N 1000 -o - | ./banner-grab-tcp -p 80 -c 100 -d http-req > http-banners.out

zmap扫描1000个80端口开放的IP地址,banner-grab-tcp 来扫描这些IP地址,扫描请求内容通过http-req可自定义 ,最后返回的数据是base64编码。

具体应用实例

对公网的ip地址进行随即扫描,得到10个结果后,返回,并将返回结果显示在屏幕上。

zmap -p 80 -N 10 -B 1M -o -

随即扫描公网上的10个ip地址,扫描完成后,将开放80端口的ip地址显示在屏幕上。

zmap -p 80 -n 10 -B 1M -o -

随即扫描10000个ip地址,将返回结果写入到results.csv文件中。

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

指定CIDR块,扫描其中的所有ip地址,将结果写入到results.csv文件中。

zmap -p 80 -B 1M -o results.csv 192.168.0.0/16

通过文件指定CIDR块,扫描结束后将结果写入到results.csv文件中。

zmap -p 80 -B 1M -o results.csv -w whitelist.file
zmap -p 80 -N 1000 -B 10M -o - | ./banner-grab-tcp -p 80 -c 500 -d ./http-req > out

用的最多的指令,检测全网络SSL/STL使用状况,ZMAP几个研究项目都与此有关。

zmap -p 443 -G "00:00:00:00:00:00"

2.用的最多的指令

zmap -p 443 -G "00:00:00:00:00:00"

检测全网络SSL/STL使用状况,ZMAP几个研究项目都与此有关。 

-O, --output-module=name  设置结果输出模块,参数simple_file(默认),extended_fileSimple_file 模式如下115.237.116.11923.9.117.80207.118.204.141217.120.143.111Extended File模式如下response, saddr, daddr, sport, dport, seq, ack, in_cooldown, is_repeat, timestampsynack, 159.174.153.144, 10.0.0.9, 80, 40555, 3050964427, 3515084203, 0, 0,2013-08-15 18:55:47.681

扫描模块和输出模块都提供了API ,可自己根据需要添加功能。

原创粉丝点击