masscan 开源的的无状态扫描项目,支持应用层扫描,已经具备了两个功能。
–heartbleed 扫描心脏滴血
–banner 扫描http头信息
项目地址:https://github.com/robertdavidgraham/masscan,
在此感谢一下作者 robert_david_graham@yahoo.com。
因为是c写的,所以性能比.net 会好很多,项目中作者指定了vs 2010编译,非vs 2010要修改一个地方,修改方法如下。
将string_s.h 文件中的代码
#if defined(_MSC_VER) && (_MSC_VER == 1600) /*Visual Studio 2010*/ # include <stdio.h> # include <string.h> # define strcasecmp _stricmp # define memcasecmp _memicmp # ifndef PRIu64 # define PRIu64 “llu” # define PRId64 “lld” # define PRIx64 “llx” # endif |
更改为你使用的VS版本,我用的2013.改成1800,在编译OK。
#if defined(_MSC_VER) && (_MSC_VER == 1800) /*Visual Studio 2013*/ # include <stdio.h> # include <string.h> # define strcasecmp _stricmp # define memcasecmp _memicmp # ifndef PRIu64 # define PRIu64 “llu” # define PRId64 “lld” # define PRIx64 “llx” # endif |
版本对应关系
if (msc_ver < 1500) compiler_version = “pre2008″; else if (msc_ver == 1500) compiler_version = “2008”; else if (msc_ver == 1600) compiler_version = “2010”; else if (msc_ver == 1700) compiler_version = “2012”; else if (msc_ver == 1800) compiler_version = “2013”; |
使用很简单:
1.windows需要打开防火墙
2.安装winpcap
masscan.exe -p80 223.222.1.1/8 –banners -oX a.xml –rate=1000
–rate 是pps
-oX 以xml文件保存到日志,输出方式支持自定义,具体看原作者的说明。
–source 可以指定同一个子网的IP地址,这个地址不能真实存在。