手动编译高速扫描器MasScan

常见的端口扫描器有NMAP,ZMAP,superScan等,我们使用后各有千秋,ZMAP号称44分钟扫全球ip,那么有没有比ZMAP更快的端口扫描器呢,今天我们来研究下masscan,这款扫描器号称3分钟扫完全球。

我在网上找不到编译后的EXE,但是找到了源码,源码地址:https://github.com/robertdavidgraham/masscan,下载后看下目录结构,如图1

Clipboard Image.png

图1

我们要在Windows上使用masscan,需要进入vs10目录,vs10是vs2010编译器,用vs2010打开vs10目录下的masscan.sln,如图2

Clipboard Image.png 
图2

编译选项设置如图3

Clipboard Image.png 
图3

生成的masscan.exe在.\bin目录中。如图4

Clipboard Image.png
图4

将生成的masscan.exe发送到测试环境,提示如下错误,如图5

Clipboard Image.png 
图5

这个错误是因为文件缺少,我在vs2010编译环境查找这个文件并发送的到测试环境。这次成功运行masscan.exe ,如图6

Clipboard Image.png 
图6

我们来扫一个网段试试183.136.230.12,命令如图7

masscan -p80,7001183.136.230.12/16  --rage=10000

Clipboard Image.png 
图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

Clipboard Image.png 
图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

Clipboard Image.png 
图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

Clipboard Image.png 
图10

到这里就结束了,masscan的扫描速度真的是奇快。希望做渗透的同学们多研究下端口扫描器,达到事半功倍的效果。

posted @ 2018-01-29 08:59  h2z  阅读(3191)  评论(0编辑  收藏  举报