ZMap是一个开源网络扫描工具,可以帮助研究人员快速的进行全网检测。只需要一台机器和足够上行网络速度,就可以以达到千兆以太网的理论值速度并在45分钟内扫描全网络IPv4地址。
基本选项
这些选项是在扫描中最常用的
-p, –target-port=port
需要扫描的TCP 端口号 (比如443)
-o, –output-file=name
将扫描结果输出到文件
-b, –blacklist-file=path
黑名单文件,即排除在扫描范围外的地址。在conf/blacklist.example文件中有实例,每同一行写一个网段,比如192.168.0.0/16。
扫描选项
-n, –max-targets=n
检测的上限范围,可以是一个数字如-n 10000,也可以是扫描地址空间中的百分比
-N, –max-results=n
接收到一定数量的结果后退出扫描
-t, –max-runtime=secs
最大扫描(发包)时间
-r, –rate=pps
设置发包速率(packets/sec)
-B, –bandwidth=bps
设置发包带宽(bits/second
-c, –cooldown-time=secs
接受返回的时间(default=8)
-e, –seed=n
选择地址的排列序号
–shards=n
Split the scan up into N shards/partitions among different instances of zmap (default=1). When sharding, –seed is required
切分扫描。与–seed参数配合使用
-T, –sender-threads=n
发包的线程数 (默认为1)
-P, –probes=n
送达每个IP的探测器数量(默认为1)
网络选项
-s, –source-port=port|range
发包的源端口(s)
-S, –source-ip=ip|range
发包的源IP,也可以是IP地址段
-G, –gateway-mac=addr
发包的网关MAC地址
-i, –interface=name
网络端口
探测器选项
ZMap允许用户定义和编写自己的探测器模块。
–list-probe-modules
列出可用的探测器模块
-M, –probe-module=name
选择探测器模块 (默认为tcp_synscan)
–probe-args=args
设置探测器模块的参数
–list-output-fields
列出所选择的探测器模块
输出选项
ZMap 允许用户定义和编写自己的输出模块。输出模块负责处理探测器模块的返回结果并且展示给用户。
–list-output-modules
列出所有输出模块
-O, –output-module=name
设置输出模块
–output-args=args
设置输出模块的参数
-f, –output-fields=fields
列出所选择的输出模块
–output-filter
输出模块过滤器
附加选项
-C, –config=filename
读一个配置文件,其中可以包含特殊的选项
-q, –quiet
安静模式
-g, –summary
在扫描结束后,打印配置和结果汇总
-v, –verbosity=n
log的等级 (0-5, 默认为3)
-h, –help
显示帮助
-V, –version
打印版本
下载地址
-
whale45分钟扫描完后估计啥结果也没有返回。。。
-
学院派@d3dcry
普通的map -sS -T4 -F -v -oX 对1个ip的扫描的结果都在15-20kb 之间,
你那牛逼的1kb怎么算出的?大牛你不会是就跑个 nmap -sP ip 看下是否存活吧!?
既然扫描入库,必然该有的信息都得有,比如开了80,起码的header、banner得保存,
包括全部tcp端口开放测试、服务类型测试等等,如果详细,比如SSH bannner、FTP bannner均保存。
这些信息XML储存起码是30-50kb。
而计算预先知道储存数据量极大,普通数据库已无法满足,
就以个人学的经济能力来说,选择直接文本储存比储存在数据库更靠谱,
数据库储存需要耗费的硬盘资源更是成倍增加。
那我们来计算下:
全球理论总ip4地址(仅仅是ip4的):255**4 = 4228250625 个
私有和保留ip:255**2*2+255**3*2 = 33292800 个
理论上需要扫描的ip总数:4228250625 - 33292800 = 4194957825 个
一个ip扫描结果:(30+50)/2 = 40 kb
理论上扫描结果大小:4194957825*40 = 167798313000 kb
理论上扫描结果大小:((167798313000/1024)/1024)/1024 = 156 TB
以上是我说的理论值
不懂你哪个牛逼的硬盘能储存下?
下面假设实际可能的情况:
1、假设由于防火墙、存活等未知原因,仅可扫描6成ip,结果大小:156*0.6 = 93.6 TB
2、假设由于防火墙、存活等未知原因,仅可扫描4成ip,结果大小:156*0.4 = 62.4 TB
3、假设由于防火墙、存活等未知原因,仅可扫描4成ip,结果大小:156*0.2 = 31.2 TB
你觉得全球连ip分配都不够时代,只能扫描2成ip?
就算只有2成能扫,假设其他原因,比如存活但返回信息小,需要至少30TB的硬盘
你去X宝搜下,一个30T硬盘需要多少钱?
虽然高数一直没及格、但是小学算术还是考过满分的 -
V我说我针对某一特定漏洞扫描过全球ip段,而且也就花了几天时间,也不是专业扫描 只是业余懒散的搞一下,你们信吗 ? 理论在某种程度上就是狗屁,实践才是王道,我喜欢尼古拉.特斯拉,他是我的偶像。
-
@学院派 其实第一次回复就想告诉你,就算每个IP分配1KByte存储扫描结果,IPv4总共40亿个KB也就几个TB而已,怕你数学老师伤心,就没提这个事情;;;哦,如果你打算存储每个IP的tcp/udp 2*64K端口扫描结果,那1个KB可能确实不怎么够
-
估计搜索到的大部分都是H网站的信息
不容错过
- 下一个“永恒之蓝”6月见?Shadow Brokers组织宣布将公开更多0day漏洞!Sphinx2017-05-17
- FB视频:纪录片《暗网》之勒索软件篇FB视频2016-04-02
- 解密:地下黑市都在卖什么?简单2015-10-21
- FreeBuf单身节派对:1111来了,你还是一个人吗?FB客服2014-11-07
0daybank
已有 41 条评论
45分钟扫描完后估计啥结果也没有返回。。。
@whale 应该是你的扫描行为某某些安全设备识别,阻断了吧?或者没完没了的扫国内IP段,会被查水表的吧?
估计搜索到的大部分都是H网站的信息
关键带宽得跟上。还要小心办公室其他人都上不了网。
和同学在理论上计算过扫描全球互联网ip所需要的准备
最后放弃了
我们甚至没有那么大的硬盘来储存扫描的结果
宽带不是问题
可以用分布式弥补
硬盘、内存、队列处理才是硬伤
@学院派 贵校硬盘略贵吧?一个IP给1KB存储也就几个TB吧。并且网络带宽略好啊~~
@d3dcry 别想当然,一个ip的数据,nmap -oX 右键看看到底有多大,再算算255**4-私有ip看看到底有多少个ip,试着只把这些ip地址生成txt看看多大,看看你牛逼的个人电脑或者实验室电脑能储存下不!?然后用你牛逼的10M宽带也去跑一跑,把结果帖出来,你这逼才算装成功了
@学院派 其实第一次回复就想告诉你,就算每个IP分配1KByte存储扫描结果,IPv4总共40亿个KB也就几个TB而已,怕你数学老师伤心,就没提这个事情;;;哦,如果你打算存储每个IP的tcp/udp 2*64K端口扫描结果,那1个KB可能确实不怎么够
@d3dcry 可以压缩,重复数据很多的。
@d3dcry
普通的map -sS -T4 -F -v -oX 对1个ip的扫描的结果都在15-20kb 之间,
你那牛逼的1kb怎么算出的?大牛你不会是就跑个 nmap -sP ip 看下是否存活吧!?
既然扫描入库,必然该有的信息都得有,比如开了80,起码的header、banner得保存,
包括全部tcp端口开放测试、服务类型测试等等,如果详细,比如SSH bannner、FTP bannner均保存。
这些信息XML储存起码是30-50kb。
而计算预先知道储存数据量极大,普通数据库已无法满足,
就以个人学的经济能力来说,选择直接文本储存比储存在数据库更靠谱,
数据库储存需要耗费的硬盘资源更是成倍增加。
那我们来计算下:
全球理论总ip4地址(仅仅是ip4的):255**4 = 4228250625 个
私有和保留ip:255**2*2+255**3*2 = 33292800 个
理论上需要扫描的ip总数:4228250625 – 33292800 = 4194957825 个
一个ip扫描结果:(30+50)/2 = 40 kb
理论上扫描结果大小:4194957825*40 = 167798313000 kb
理论上扫描结果大小:((167798313000/1024)/1024)/1024 = 156 TB
以上是我说的理论值
不懂你哪个牛逼的硬盘能储存下?
下面假设实际可能的情况:
1、假设由于防火墙、存活等未知原因,仅可扫描6成ip,结果大小:156*0.6 = 93.6 TB
2、假设由于防火墙、存活等未知原因,仅可扫描4成ip,结果大小:156*0.4 = 62.4 TB
3、假设由于防火墙、存活等未知原因,仅可扫描4成ip,结果大小:156*0.2 = 31.2 TB
你觉得全球连ip分配都不够时代,只能扫描2成ip?
就算只有2成能扫,假设其他原因,比如存活但返回信息小,需要至少30TB的硬盘
你去X宝搜下,一个30T硬盘需要多少钱?
虽然高数一直没及格、但是小学算术还是考过满分的
@学院派 数据真的是可以编码和压缩的,就算加上端口服务类型,1KB对于多数情况肯定是够用的,不过前提是你可以理解信息论,对于小学算术满分来说要求有点高;还是回到你的第一条留言,算算需要多少流量,再看看你的带宽,看看到底什么是瓶颈
顺便说一句,关键是你的方法思路不靠谱,不要把人的问题归结到硬件上
@学院派 果然是学院派 放到实际环境中想一下,未必不可行。
@d3dcry
呵呵,别就会bbb的,有本事靠数据说话,我一提了几个计算过程,就急了,拿所谓的牛逼的信息论来压人,搞人身攻击?就这点本事?靠某些看似牛逼的理论来压人,那不是我们学院派爱做的事情吗?你这种技术大牛也爱用?
顺便回答你一句,我从未说过我的方法思路,只是曾经计算过看到就发了个感叹,大牛你就牛逼的知道了我的想法思路?难道会脑电波入侵?还是在未知对方处于何地的情况下,真心屌炸天!
这只是对大牛人身攻击的简单回复。
介于大牛你太屌了,会脑电波入侵,我决定匿了,万一哪一天大牛你。。。
@学院派
你想多了 以前08年时盛行时期 1433 445 135抓鸡的
设定都不是ip段 而是0.0.0.0-255.255.255.255 指定几个端口
他们4个月内就能全部跑一边 用的就是s.exe
对有目的公司ip段他们会 24小时不间断扫描
假如有一台刚配置好弱密码的服务器 15秒内就可以拿到权限 放上一切可能深入内网的东西
@anlfi 莫非用的是那几个批处理和vbs脚本。抓鸡都是多少年前的事了。那些年还有黑基、华夏、小凤居……,那些年你还在看《黑客防线》、《黑客X档案》吧。那些年你还在上学吧……匆匆那些年啊……
@anlfi
不是我想多了,是你没理解我的想法和目的:
1、我扫描的目的是为了建立数据库,然后发掘好玩的东西
2、用08067扫445和扫全部端口、服务、banner是完全不同的概念,返回数据的大小也不可同日而语
3、s.exe明显有着数据丢弃,而且大部分数据在内存处理、重复利用内存,和要把所有扫描结果保存在硬盘是完全不同的概念,自然不可相比。
好比:sys.stdout.write(‘\%s’%ip) 和 f.write(‘%s’ip) 的区别一样
@anlfi
当时计算后也是参考了国外的研究文献,才决定放弃,因为只是个人想搞,一台笔记本加2M宽带的基础。
http://internetcensus2012.bitbucket.org/paper.html
http://internetcensus2012.bitbucket.org/download.html
在作者给namp的mail中,提到到总数据达到9TB:
http://seclists.org/fulldisclosure/2013/Mar/166
我说我针对某一特定漏洞扫描过全球ip段,而且也就花了几天时间,也不是专业扫描 只是业余懒散的搞一下,你们信吗 ? 理论在某种程度上就是狗屁,实践才是王道,我喜欢尼古拉.特斯拉,他是我的偶像。
官方说千兆上行45分扫完
https://github.com/robertdavidgraham/masscan
http://labs.redcoast.org/?p=28
有瓜哥的东西叼吗?
@LittleHann 瓜哥的hash 存储没用到字典树,查找还可以在优化下吧。
一看这位就是没安装zmap测试过的。
正常千M,45分钟扫描完全球IP还是没有问题,没有夸大其词。
不用千M 百M,我用S扫描器都45分钟都搞定了。浪费时间。
快不快 是一方面
准不准 更是一方面 。。。
一句来自网络的话:“ZMap发送数据包的速度是Nmap的上千倍。”不知道大家怎么看?
怎么可能哪么快呢!
这键盘哪里买?
快有个啥用啊!!! 关键是准不准. 就好像xxoxx一样.jj放就去1秒就射了.你给我说很爽.我说[文明用语]
回来试试
屌炸天?
为毛我扫描局域网,会和wireshark冲突!每次两个同时开,系统必挂
快准狠,才是硬道理
试验后 发现结果少很多 同一ip 段
比如扫3389 用别的工具扫是50个
而用zmap则最多是10个
在天chao, 没用
4228250625个IP….
有windows下的吗
逛了一圈,就数这里的评论最多了。
我知道你们都喜欢骚瞄,但你们也不用表现的这么明显吧。
如果我算术好我也和你们算算呢,可惜我一直没及格过。。。
呼呼
怎么没有WIN下载地址?
算法牛 收藏了
学院派,是想拿全数据,然后用这个作大数据分析吧