Windows下使用Masscan【摘抄】

Windows下使用Masscan【摘抄】

时间:2022-08-12 作者:zhankehua 评论:0 点击:2315 次

Windows使用Masscan

0x00 前⾔

Masscan号称最快的互联⽹端⼝扫描器,本⽂来探测⼀下Masscan在Windows下的安装和使⽤。

masscan的扫描结果类似于nmap,在内部,它更像scanrand, unicornscan, and ZMap,采⽤了异步传输的⽅式。它和这些扫描器最主要的区别是,它⽐这些扫描器更快。⽽且,masscan更加灵活,它允许⾃定义任意的地址范和端⼝范围。

0x01 Windows下编译Masscan

Masscan需要经过编译才能⽣成exe⽂件在Windows下使⽤。

Masscan下载地址:

编译⼯具:vs2012

编译选项中未添加vs2012的编译配置,所以直接编译会报错

解决⽅法:

在string_s.h中添加vs2012配置信息

位于misc-string_s.h,添加代码如下:

#if defined(_MSC_VER) && (_MSC_VER == 1700)

/*Visual Studio 2012*/

# include <stdio.h>

# include <string.h>

# define strcasecmp _stricmp

# define memcasecmp _memicmp

# ifndef PRIu64

# define PRIu64 "llu"

# define PRId64 "lld"

# define PRIx64 "llx"

# endif

编译成功,执⾏masscan.exe,提⽰Packet.dll: not found

如下图

Packet.dll获取⽅法:

安装WinPcap后在System32下获得

WinPcap下载地址:

在另⼀系统安装WinPcap,在System32下找到Packet.dll和Wpcap.dll,复制到测试系统下masscan.exe的同级⽬录,再次运⾏

程序正常启动,但是⽆法扫描,报错如下:

FAIL: Error opening adapter: 系统找不到指定的设备。 (20) adapter[\Device\NPF_{71D19B82-0818-4685-A8E7-A6C7C812F2EA}].init: failed

0x02 安装WinPcap

官⽹下载安装即可。

0x03 Masscan使⽤

扫描指定⽹段和端⼝:

masscan.exe -p80 192.168.81.1/24

找到⼀台开启80端⼝的服务器,回显如下:

Discovered open port 80/tcp on 192.168.81.143

扫描指定主机所有开放的端⼝:

masscan.exe -p0-65535 192.168.81.143

如下图

扫描指定主机的特定端⼝:

masscan.exe -p80,443 192.168.81.143

获取banner:

masscan.exe -p80,443,3306 192.168.81.143 --banners

通过配置⽂件启动扫描:

将配置信息保存在1.conf:

masscan.exe -p80,443,3306 192.168.81.143 --banners --echo>1.conf

读取配置信息1.conf,启动扫描:

masscan.exe -c 1.conf

修改扫描速度为100,000包/秒(Windos下最⼤为 300,000包/秒),默认100包/秒:

--rate 100000

扫描结果可以以不同的格式输出:(XML是默认格式)

-oX <filespec> (XML)

-oB <filespec> (Binary)

-oG <filespec> (Grep)

-oJ <filespec> (Json)

-oL <filespec> (List)

-oU <filespec> (Unicornscan format)

默认情况,masscan开启如下配置:

-sS:   半开放扫描,不完成完整的TCP/IP连接

-Pn:   跳过主机发现

-n:   跳过DNS解析

--randomize-hosts:随机化扫描

--send-eth:使⽤libpcap数据包传输详细参数

<ip/range> IP地址范围,有三种有效格式:1、单独的IPv4地址 2、类似"10.0.0.1-10.0.0.233"的范围地址 3、CIDR地址类似于"0.0.0.0/0",多个⽬标可以⽤都好隔开

-p <ports,--ports <ports>> 指定端⼝进⾏扫描

--banners 获取banner信息,⽀持少量的协议

--rate <packets-per-second> 指定发包的速率

-c <filename>, --conf <filename> 读取配置⽂件进⾏扫描

--echo 将当前的配置重定向到⼀个配置⽂件中

-e <ifname> , --adapter <ifname> 指定⽤来发包的⽹卡接⼝名称

--adapter-ip <ip-address> 指定发包的IP地址

--adapter-port <port> 指定发包的源端⼝

--adapter-mac <mac-address> 指定发包的源MAC地址

--router-mac <mac address> 指定⽹关的MAC地址

--exclude <ip/range> IP地址范围⿊名单,防⽌masscan扫描

--excludefile <filename> 指定IP地址范围⿊名单⽂件

--includefile,-iL <filename> 读取⼀个范围列表进⾏扫描

--ping 扫描应该包含ICMP回应请求

--append-output 以附加的形式输出到⽂件

--iflist 列出可⽤的⽹络接⼝,然后退出

--retries 发送重试的次数,以1秒为间隔

--nmap 打印与nmap兼容的相关信息

--http-user-agent <user-agent> 设置user-agent字段的值

--show [open,close] 告诉要显⽰的端⼝状态,默认是显⽰开放端⼝

--noshow [open,close] 禁⽤端⼝状态显⽰

--pcap <filename> 将接收到的数据包以libpcap格式存储

--regress 运⾏回归测试,测试扫描器是否正常运⾏

--ttl <num> 指定传出数据包的TTL值,默认为255

--wait <seconds> 指定发送完包之后的等待时间,默认为10秒

--offline 没有实际的发包,主要⽤来测试开销

-sL 不执⾏扫描,主要是⽣成⼀个随机地址列表

--readscan <binary-files> 读取从-oB⽣成的⼆进制⽂件,可以转化为XML或者JSON格式.

--connection-timeout <secs> 抓取banners时指定保持TCP连接的最⼤秒数,默认是30秒。Nmap功能

Masscan可以像nmap许多安全⼈员⼀样⼯作。这⾥有⼀些其他类似nmap的选项:通过传递–nmap开关可以看到类似nmap的功能。

1. -iL filename:从⽂件读取输⼊。

2. ‐‐exclude filename:在命令⾏中排除⽹络。

3. ‐‐excludefile:从⽂件中排除⽹络。

4. -S:欺骗源IP。

5. -v interface:详细输出。

6. -vv interface:⾮常冗长的输出。

7. -e interface:使⽤指定的接⼝。


已有 2315 位网友参与,快来吐槽:

发表评论

必填

选填

选填

◎欢迎参与讨论,发表您的看法、交流您的观点。