常见的端口扫描器有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的更多相关文章

  1. ffmpeg为视频添加时间戳 - 手动编译ffmpeg

    FFMPEG给视频加时间戳水印 项目中需要给视频添加时间戳,理所当然最好用的办法是ffmpeg.在找到正确的做法前,还被网上的答案timecode给水了一下(水的不轻,在这里转了2天),大概是这样写的 ...

  2. SNMP高速扫描器braa

    SNMP高速扫描器braa   SNMP(Simple Network Monitoring Protocol,简单网络管理协议)是网络设备管理标准协议.为了便于设备管理,现在联入网络的智能设备都支持 ...

  3. Lua手动编译姿势

    LUA-5.3.3.tar.gz Lua源码+链接2016年5月30日更新 手动编译姿势: 已经装有VS2010 使用VS自带的 cl.exe以及 VS命令簿 打开文件地址 运行自己的bat文件 my ...

  4. Sass中文乱码问题(手动编译和watch编译)

    一.sass手动编译出错 .scss文件中含有中文的时候编译报错(比如注释,比如字体栈),比如: foo.scss: 编译: 解决办法: 找到类似这个的路径的文件(仅供参考,不同环境可能不同): C: ...

  5. CentOS手动编译安装gcc

    最近尝试了fedora.ubuntu.mint.debian.opensuse等多种linux发行版,与CentOS比较之后还是感觉之前用的CentOS比较熟悉,比较习惯.现在CentOS的最新版本为 ...

  6. LNAMP服务器环境搭建(手动编译安装)

    LNAMP服务器环境搭建(手动编译安装) 一.准备材料 阿里云主机一台,操作系统CentOS 6.5 64位 lnamp.zip包(包含搭建环境所需要的所有软件) http://123.56.144. ...

  7. Javac 手动编译时,出现乱码或编码格式问题

    使用Javac进行手动编译时,出现乱码或编码格式问题,原因如下:现象:编译时出现乱码或编译错误 即使改成UTF-8仍然会出错 原因如下:某些编辑器会往utf8文件中添加utf8标记(editplus称 ...

  8. linux 内核手动编译

    手动编译内核 编译时后应安装的支持yum install perlyum install bcyum insatll gcc-c++ .uname -r 先查看内核版本 .yum groupinsta ...

  9. 手动编译Jsp文件

    手动模拟Tomcat编译jsp文件 Tomcat编译jsp文件的配置路径是在%tomcat_home%/conf/web.xml中,有这样一段代码 <servlet> <servle ...

随机推荐

  1. [SDOI2009][bzoj1878] HH的项链 [莫队模板题]

    题面: 传送门 思路: 就是一道莫队的模板题目...... 开一个1000000的数组记录每个数出现的次数,然后每次从1到0或者从0到1更新答案 莫队讲解看这里:莫队 Code: #include&l ...

  2. PE第n弹

    PE201 -- F[i][j][k] 和为i前j个选了k个方案数.因为值域很小. PE202 -- 那个反射其实挺酷炫的,你考虑把它的镜面反射去掉,把它扩展成一个无限大的正三角网格.. PE410 ...

  3. kubernetes-dashboard

    1.导入kubernetes-dashboard 镜像 [root@node1 DNS]# docker load < kube-dashboard.tar 6bc90c4dba69: Load ...

  4. 洛谷 [P2051] 中国象棋

    DP orz__stdcall 首先要想出来,每行最多只能放两个棋子,这是显然的 于是决策就是一行一行地处理 30分的做法就是裸的枚举,暴搜,枚举这一行放哪里,放几个 然后想到了压位dp,按3进制表示 ...

  5. 【转】linux之shfit

    位置参数可以用shift命令左移.比如shift 3表示原来的$4现在变成$1,原来的$5现在变成$2等等,原来的$1.$2.$3丢弃,$0不移动.不带参数的shift命令相当于shift 1. 非常 ...

  6. js,add script async? loaded ok.

    function loadScript(url, callback){ var script = document.createElement_x("script") script ...

  7. java网络编程学习笔记(二):socket详解

    1.Socket有多种构造方法,大多数构造方法在构造的时候就指定了连接的主机和端口号.当客户端的构造方法与服务器连接的时候,可能需要等待一段时间,因为需要建立连接.默认情况下,Socket的构造方法会 ...

  8. AtCoder Regular Contest 090 F - Number of Digits

    题目链接 Description For a positive integer \(n\), let us define \(f(n)\) as the number of digits in bas ...

  9. Selenium2+python自动化(学习笔记3)

    1.加载firefox配置 参考代码: # coding=utf-8from selenium import webdriver# 配置文件地址,打开Firefox点右上角设置--帮助--故障排除信息 ...

  10. MySQL完整备份,还原

    # 备份 添加编码 --default-character-set=utf8 防止中文乱码 把.sql文件导入MySQL, 汉字出现乱码?在.sql文件头中添加:set names 'gbk'; 或  ...