手动编译高速扫描器MasScan
常见的端口扫描器有NMAP,ZMAP,superScan等,我们使用后各有千秋,ZMAP号称44分钟扫全球ip,那么有没有比ZMAP更快的端口扫描器呢,今天我们来研究下masscan,这款扫描器号称3分钟扫完全球。
我在网上找不到编译后的EXE,但是找到了源码,源码地址:https://github.com/robertdavidgraham/masscan,下载后看下目录结构,如图1
图1
我们要在Windows上使用masscan,需要进入vs10目录,vs10是vs2010编译器,用vs2010打开vs10目录下的masscan.sln,如图2
图2
编译选项设置如图3
图3
生成的masscan.exe在.\bin目录中。如图4
图4
将生成的masscan.exe发送到测试环境,提示如下错误,如图5
图5
这个错误是因为文件缺少,我在vs2010编译环境查找这个文件并发送的到测试环境。这次成功运行masscan.exe ,如图6
图6
我们来扫一个网段试试183.136.230.12,命令如图7
masscan -p80,7001183.136.230.12/16 --rage=10000
图7
扫描器未能成功运行,提示Packet.dll:not found ,需要安装winpcap插件,我们在nmap目录下就能找到这个插件,或者在这个网址下载:https://www.winpcap.org/install/bin/WinPcap_4_1_3.exe。
安装winpcap插件后,再次运行命令
masscan -p80,7001 183.136.230.12/16 --rage=10000
命令执行结果,如图8
图8
到这里masscan从源码编译到运行,就研究完了,最后试试把结果ip存为下面的格式,方便其它程序调用,
183.136.133.232
183.136.132.70
183.136.206.202
183.136.138.83
183.136.133.217
183.136.206.168
183.136.133.194
183.136.204.50
183.136.132.248
183.136.206.238
183.136.206.75
183.136.204.7
Masscan中-oX 选项可以保存扫描结果,保存的结果为一堆乱码,如图9
图9
经过-oG,-oX测试,均未达到理想效果,我现在使用Delphi将xml格式的结果,整理为ip地址列表。Delphi的xml利用我不是太精通,试了半天,没成功,改用正则表达式,测试成功了,Delphi的核心代码为
procedure TForm1.Button1Click(Sender: TObject);
var
i:Integer;
strResult:string;
begin
Memo1.Lines.LoadFromFile('result.xml');
PerlRegEx1.Subject:=Memo1.Text;
PerlRegEx1.RegEx:='addr=\"(.*)?"\s+addrtype';
PerlRegEx1.Match;
while PerlRegEx1.MatchAgain do
begin
strResult:=PerlRegEx1.SubExpressions[1];
//showMessage(strResult);
Memo2.Lines.Add(strResult);
end;
Memo2.Lines.SaveToFile('result.txt');
end;
Delphi小工具的执行结果,如图10
图10
到这里就结束了,masscan的扫描速度真的是奇快。希望做渗透的同学们多研究下端口扫描器,达到事半功倍的效果。
手动编译高速扫描器MasScan的更多相关文章
- ffmpeg为视频添加时间戳 - 手动编译ffmpeg
FFMPEG给视频加时间戳水印 项目中需要给视频添加时间戳,理所当然最好用的办法是ffmpeg.在找到正确的做法前,还被网上的答案timecode给水了一下(水的不轻,在这里转了2天),大概是这样写的 ...
- SNMP高速扫描器braa
SNMP高速扫描器braa SNMP(Simple Network Monitoring Protocol,简单网络管理协议)是网络设备管理标准协议.为了便于设备管理,现在联入网络的智能设备都支持 ...
- Lua手动编译姿势
LUA-5.3.3.tar.gz Lua源码+链接2016年5月30日更新 手动编译姿势: 已经装有VS2010 使用VS自带的 cl.exe以及 VS命令簿 打开文件地址 运行自己的bat文件 my ...
- Sass中文乱码问题(手动编译和watch编译)
一.sass手动编译出错 .scss文件中含有中文的时候编译报错(比如注释,比如字体栈),比如: foo.scss: 编译: 解决办法: 找到类似这个的路径的文件(仅供参考,不同环境可能不同): C: ...
- CentOS手动编译安装gcc
最近尝试了fedora.ubuntu.mint.debian.opensuse等多种linux发行版,与CentOS比较之后还是感觉之前用的CentOS比较熟悉,比较习惯.现在CentOS的最新版本为 ...
- LNAMP服务器环境搭建(手动编译安装)
LNAMP服务器环境搭建(手动编译安装) 一.准备材料 阿里云主机一台,操作系统CentOS 6.5 64位 lnamp.zip包(包含搭建环境所需要的所有软件) http://123.56.144. ...
- Javac 手动编译时,出现乱码或编码格式问题
使用Javac进行手动编译时,出现乱码或编码格式问题,原因如下:现象:编译时出现乱码或编译错误 即使改成UTF-8仍然会出错 原因如下:某些编辑器会往utf8文件中添加utf8标记(editplus称 ...
- linux 内核手动编译
手动编译内核 编译时后应安装的支持yum install perlyum install bcyum insatll gcc-c++ .uname -r 先查看内核版本 .yum groupinsta ...
- 手动编译Jsp文件
手动模拟Tomcat编译jsp文件 Tomcat编译jsp文件的配置路径是在%tomcat_home%/conf/web.xml中,有这样一段代码 <servlet> <servle ...
随机推荐
- php代码审计 strcmp和MD5函数漏洞
通过get得到三个值,v1,v2,v3. if第一层判断,v1和v2得到的值不一样,但是对它们进行md5加密后的值得相等. if第二层判断,v3得到的值得和$flag的值相等,满足这两个条件输出fla ...
- 5个最佳的Android测试框架(带示例)
谷歌的Android生态系统正在不断地迅速扩张.有证据表明,新的移动OEM正在攻陷世界的每一个角落,不同的屏幕尺寸.ROM /固件.芯片组以及等等等等,层出不穷.于是乎,对于Android开发人员而言 ...
- 什么是事务?MySQL如何支持事务?
什么是事务? 事务是由一步或几步数据库操作序列组成逻辑执行单元,这系列操作要么全部执行,要么全部放弃执行.程序和事务是两个不同的概念.一般而言:一段程序中可能包含多个事务.(说白了就是几步的数据库操作 ...
- java 例子
1. 本章学习总结 今天主要学习了三个知识点 封装 继承 多态 2. 书面作业 Q1. java HelloWorld命令中,HelloWorld这个参数是什么含义? 今天学了一个重要的命令javac ...
- C/C++注释规范
C/C++注释规范 Doxygen是一种开源跨平台的,以类似JavaDoc风格描述的文档系统,完全支持C.C++.Java.Objective-C和IDL语言,部分支持PHP.C#.鉴于Doxygen ...
- bzoj4455【ZJOI2016】小星星
题意:http://www.lydsy.com/JudgeOnline/problem.php?id=4455 给一张图和该图的一棵生成树,求可能的编号方案数 sol :dalao教导我们,看到计数 ...
- jQuery初级
一.简介 定义 jQuery创始人是美国John Resig,是优秀的Javascript框架: jQuery是一个轻量级.快速简洁的javaScript库.源码戳这 jQuery对象 jQuery产 ...
- 【HDOJ5951】Winning an Auction(博弈DP)
题意:A和B两个人做一个拍卖游戏.每一轮两人分别给出一个价格,出价高者获得该轮的物品,出价相同则奇数轮A优先,偶数轮B优先. 两个人的目标都是最大化自己的商品数量,给定轮数n与两人分别的总资金a,b, ...
- 【MFC】Tab Control 控件的使用(转)
原文转自 http://blog.csdn.net/hustspy1990/article/details/5425365 1.先建立一个对话框MFC应用程序,然后在工具箱里面把Tab Control ...
- Understand:高效代码静态分析神器详解(一)【转】
转自:http://www.codemx.cn/2016/04/30/Understand01/ 之前用Windows系统,一直用source insight查看代码非常方便,但是年前换到mac下面, ...