手动编译高速扫描器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 ...
随机推荐
- linux环境搭建系列之memcached安装步骤
1.从官网在线下载最新的安装包 wget http://memcached.org/downloads/memcached-1.4.34.tar.gz 该命令为在线下载 注意:最新的地址会变动,所以最 ...
- 如何解决Jmeter导出的聚合报告是乱码易位问题
在使用Jmeter这个工具的时候,有些单词不懂是什么意思,就切换到这个工具自带的中文语言: 当我们测试完毕,导出聚合报告(Summary Report)的时候: 1.有一些第一个Title下面的中文是 ...
- psql 工具详细使用介绍
psql 介绍 psql 是 PostgreSQL 中的一个命令行交互式客户端工具, 它允许你交互地键入 SQL 命令,然后把它们发送给 PostgreSQL 服务器,再显示 SQL 或命令的结果. ...
- VC++中PostMessage、SendMessage和PeekMessage之间的区别
1, PostMessage只把消息放入队列,不管其他程序是否处理都返回,然后继续执行,这是个异步消息投放函数.而SendMessage必须等待其他程序处理消息完了之后才返回,继续执行,这是个同步消息 ...
- win8中写好的程序,在win7中没办法运行
没有安装相应版本的,net framework win8自带4.0 win7自带2.0 所以4.0及其以上的程序在win7跑必须安装4.0及其以上版本的framework
- 使用BootStrap网格布局进行一次演示
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Python之时间:calender模块(日历)
import calendar 1.星期 (1)calendar.day_name 星期的全称 print calendar.day_name for i in calendar.day_name: ...
- [AGC008F] Black Radius(树形dp)
神题啊!! Description 给你一棵有N个节点的树,节点编号为1到N,所有边的长度都为1 "全"对某些节点情有独钟,这些他喜欢的节点的信息会以一个长度为N的字符串s的形式给 ...
- 创建 router 连通 subnet
上一节我们为 Neutron 虚拟路由器配置好了 L3 agent,今天将创建虚拟路由器“router_100_101”,打通 vlan100 和 vlan101. 打开操作菜单 Project -& ...
- 【Visual Studio】以管理员的身份运行软件