zmap使用笔记
zmap使用笔记
zmap, 一个网络端口开放性的快速扫描工具。至于这个工具的特色,配置参数,和比的工具的对比,不做介绍。只记录一下近期使用过程中,遇到的问题。软件版本:2.1.1
传言与现实
传言:一小时之内扫描完整过互联网
传言的基础条件:
- 1000Mbps的网络
- 网络运营商或者云供应商不将此机器判定为DDOS攻击者(大量对外发送TCP syn包)
传言:扫描结果误差率2%
使用结论:无法显示传言中如此低的误差率。使用了三个机房,不同网络供应商在同时启动扫描点情况下对一个A类网络地址段的扫描,三个机房得到的结果中,开放同一端口的IP数据重复率约为 80%,误差率其实非常高。
需要注意的点:
配置参数中的数据包速率与带宽限定。在使用的2.1.1版本zmap,配置参数中的 --rate(-r) 与 --bandwidth(-B) 两项,当配置了后者,也就是带宽限制之后,数据包发送项会被覆盖。例如:
zmap -B 10Mbps -r 2000 -p 8080这样的参数,实际上发送数据的速率是 15000p/s,而非 2000p/s默认的黑名单。在使用 yum 安装的 zmap 中,默认的配置文件 /etc/zmap/zmap.conf 中指定了默认的黑名单文件/etc/zmap/blacklist.conf,默认屏蔽掉的是内网网络地址段。做内网扫描的朋友需要注意以下。
zmap 设置了带宽限制之后,实际对于出口带宽的利用率为 70% 左右。例如
zmap --bandwidth=100Mbps,此时实际出口带宽的使用量在 70Mbps左右。官方文档中的错误配置参数summary。zmap官方文档中如下内容:
-g, --summary
Print configuration and summary of results at the end of the scan
在执行zmap --help中已经没有此配置选项,取而代之的是:
-m, --metadata-file=name Output file for scan metadata (JSON)`
如果需要扫描结论的朋友,需要注意此处。(官方文档不靠谱的开源软件,第一次遇见)
zmap扫描结果输出到Redis
如此简单的一件事情,却需要一个单独的段落来记录。
- 支持 tcp 与 local socks 方式连接 Redis
- tcp 连接 Redis 的方式不支持 Redis 密码,也不支持选择 Redis DB,如果此 Redis 在公网可需要小心了。
- 输出到 Redis 有两种格式 redis-packed 与 redis-csv ,前一种为 Redis 二进制数据,后一种会以队列方式存储到 Redis。
- 输出模块 redis-csv,写入 Redis 队列的条件是,每1000个结果写入一次,并非实时。
- 输出模块 redis-csv,在写入 Redis 中的数据,默认配置下没有做结果过滤。也就是说,存在对方返回 tcp rst数据包(对方拒绝),存在超过配置的cooldown时间的数据等结果。
- 建议配置 output-fiedls 与 output-filter。
示例配置文件一份。
#tination port to scan
target-port 8080
# cooldown time
cooldown 15
### Scan rate in packets/sec
#rate 10000
rate 2000
### Scan rate in bandwidth (bits/sec); overrides `rate`
#bandwidth 1M # 1mbps
#bandwidth 8M # 8Mbps
#output-fields "daddr,sport,seq,ack,in_cooldown,is_repeat,timestamp"
output-fields "saddr,sport,ttl,cooldown,repeat,timestamp-str,classification,success"
output-filter "success = 1 && cooldown = 0 && repeat = 0"
#output-filter "(success = 0 || success = 1) || (cooldown = 1 || cooldown = 0)"
output-file=/tmp/zmap.result
#output module. use zmap --list-output-modules list support modules
# output-module=redis-csv
#output redis args. tcp://ip:port/queuename
# output-args=tcp://127.0.0.1:6379/zmap
### Blacklist file to use. We encourage you to exclude
### RFC1918, IANA reserved, and multicast networks,
### in addition to those who have opted out of your
### network scans.
blacklist-file "/etc/zmap/blacklist.conf"
### Optionally print a summary at the end
#quiet
metadata-file /tmp/zamp.metadata
保存上面配置文件。例如 /tmp/zmap.conf
执行 zmap -C /tmp/zmap.conf,即可扫描全网。配置文件中速率限定为 2000,如果网络不中断的话,大概需要 21天才能扫面完全网 8080 端口
zmap使用笔记的更多相关文章
- 《Web安全攻防 渗透测试实战指南》 学习笔记(一)
Web安全攻防 渗透测试实战指南 学习笔记 (一) 第一章 信息收集 在信息收集中,最重要是收集服务器的配置信息和网站敏感信息(域名及子域名信息目标网站系统.CMS指纹.目标网站真实I ...
- git-简单流程(学习笔记)
这是阅读廖雪峰的官方网站的笔记,用于自己以后回看 1.进入项目文件夹 初始化一个Git仓库,使用git init命令. 添加文件到Git仓库,分两步: 第一步,使用命令git add <file ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- SQL Server技术内幕笔记合集
SQL Server技术内幕笔记合集 发这一篇文章主要是方便大家找到我的笔记入口,方便大家o(∩_∩)o Microsoft SQL Server 6.5 技术内幕 笔记http://www.cnbl ...
- PHP-自定义模板-学习笔记
1. 开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2. 整体架构图 ...
- PHP-会员登录与注册例子解析-学习笔记
1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...
- NET Core-学习笔记(三)
这里将要和大家分享的是学习总结第三篇:首先感慨一下这周跟随netcore官网学习是遇到的一些问题: a.官网的英文版教程使用的部分nuget包和我当时安装的最新包版本不一致,所以没法按照教材上给出的列 ...
- springMVC学习笔记--知识点总结1
以下是学习springmvc框架时的笔记整理: 结果跳转方式 1.设置ModelAndView,根据view的名称,和视图渲染器跳转到指定的页面. 比如jsp的视图渲染器是如下配置的: <!-- ...
- 读书笔记汇总 - SQL必知必会(第4版)
本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...
随机推荐
- powershell脚本闪电输入神器
如图所示: 用autohotkey,把下列常用按键互唤.来达到快速输入目的.并且只对powershell ise,power gui,visual studio code,powershell stu ...
- c#基础知识-2
1.在控制台接受数据时可以这样输入: using System; using System.Collections.Generic; using System.Linq; using System.T ...
- rails常用验证方法 (转)
validates_presence_of :login, :message => "用户名不能为空!" validates_length_of ...
- poj1502 spfa最短路
//Accepted 320 KB 16 ms //有n个顶点,边权用A表示 //给出下三角矩阵,求从一号顶点出发到各点的最短路的最大值 #include <cstdio> #includ ...
- jQuery固定浮动侧边栏(jQuery fixed Sidebar)
这个功能现在应用的非常普遍,如果页面比较高,当滚动条拖到页面的下面的时候,侧边栏会出现一个固定跟随浏览器的DIV框,现思路是这样的:首先获取需要跟随的DIV距离页面顶部的距离,然后判断,当浏览器滚动的 ...
- 【three.js详解之二】渲染器篇
[three.js详解之二]渲染器篇 本篇文章将详细讲解three.js中渲染器(renderer)的设置方法. three.js文档中渲染器的分支如下: Renderers CanvasRend ...
- ps esc 问题
最近经常发现esc键突然变得不能用了.主要是使用搜狗输入法时使用esc键取输错的字,因此还以为是搜狗的问题,后来突然想到可能是因为打开某个软件导致esc不能用,最后发现居然是ps,在网上查了后发现很多 ...
- LintCode First Position of Target
找指定target的最左位置. class Solution { /** * @param nums: The integer array. * @param target: Target to fi ...
- PHP面向对象(分页)
<?php class page { var $table; var $pagesize; var $totalsize; var $totalp ...
- Linux简介
一.Linux发展史 Linux出现之前,还有一个叫Minix的家伙(Andrew S. Tanenbaum教授为了教学买了Unix系统,参考其代码,但没有任何的代码抄袭,自己写了Minix系统,并开 ...