手动编译高速扫描器MasScan

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

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

手动编译高速扫描器MasScan

图1

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

手动编译高速扫描器MasScan 
图2

编译选项设置如图3

手动编译高速扫描器MasScan 
图3

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

手动编译高速扫描器MasScan
图4

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

手动编译高速扫描器MasScan 
图5

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

手动编译高速扫描器MasScan 
图6

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

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

手动编译高速扫描器MasScan 
图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

手动编译高速扫描器MasScan 
图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

手动编译高速扫描器MasScan 
图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

手动编译高速扫描器MasScan 
图10

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

editors

相关文章
发表回复