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