Masscan端口扫描技术探索

安全
Masscan是一个快速的端口扫描工具,适用于大规模网络扫描。下面是下载、安装及使用Masscan的基本步骤。

1.安装Masscan

(1)下载Masscan

从GitHub下载: 访问Masscan的GitHub页面:https://github.com/robertdavidgraham/masscan

在页面上,你可以找到最新的Release版本,点击“releases”标签页下载源代码压缩包。

也可以通过Git命令直接克隆仓库到本地:

git clone https://github.com/robertdavidgraham/masscan.git

(2)在Linux上安装

依赖安装:

在编译之前,确保已安装必要的开发工具和库,如GCC、Make等。在Debian/Ubuntu上,可以使用:

sudo apt-get update
sudo apt-get install build-essential

编译安装:

进入下载或克隆的masscan目录,然后执行以下命令进行编译安装:

cd masscan
make
sudo make install

2.Masscan基本参数

-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>: 从指定的文件中读取要扫描的IP地址范围列表。

--ping: 扫描时包括对ICMP请求的响应。

--append-output: 将结果以附加的方式输出到文件。

--iflist: 列出可用的网络接口,然后退出。

--retries: 设置发送数据包的重试次数,每次重试间隔1秒。

--nmap: 输出与nmap兼容的信息。

--http-user-agent <user-agent>: 设置HTTP请求的用户代理字段值。

--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>: 指定获取banner时的最大TCP连接维持时间,默认为30秒。

输出格式:

-oX <filespec> (XML)

-oB <filespec> (Binary)

-oG <filespec> (Grep)

-oJ <filespec> (Json)

-oL <filespec> (List)

-oU <filespec> (Unicornscan format)

3.Masscan常见扫描

(1)扫描B段(256个主机)某个特定端口例如3306

sudo masscan 192.168.2.1/24 -p 3306

图片

Discovered open port 3306/tcp on 192.168.2.64
Discovered open port 3306/tcp on 192.168.2.40
Discovered open port 3306/tcp on 192.168.2.63
Discovered open port 3306/tcp on 192.168.2.45
Discovered open port 3306/tcp on 192.168.2.26

图片

Discovered open port 1433/tcp on 192.168.2.26

(2)扫描B段,同时指定一个虚假的IP地址192.168.2.200

masscan 192.168.1.1/24 -p80 --banners --source-ip 192.168.2.200
#添加源ip来欺骗目标服务器
sudo masscan -p1-1000 116.50.146.70 --adapter-ip 114.114.114.114

(3)扫描某个主机的所有端口

masscan -p 1-65535 192.168.2.26 --rate 1000 # 扫描所有端口,设置速率为1000

图片

(4)扫描输出文件

masscan -p 1-65535 -iL ips.txt --rate=10000 -oL scan_results.txt
masscan -iL ips.txt -oJ output.json # 从文件中读取IP列表,输出为JSON格式
责任编辑:庞桂玉 来源: 小兵搞安全
相关推荐

2023-10-16 18:51:04

Masscan网络安全

2009-09-28 11:05:29

Ruby端口扫描

2022-06-15 13:40:38

端口扫描工具开源工具

2020-12-14 10:32:28

Web安全工具多线程

2013-01-10 09:19:53

2010-09-17 09:40:16

2024-06-28 08:00:00

端口扫描安全

2014-03-18 15:42:46

2009-01-15 09:52:00

2009-11-18 09:59:41

2010-09-13 15:55:43

制作端口扫描器

2021-05-31 08:54:30

RustScanRust端口扫描器

2010-12-22 21:57:00

Angry IP Sc

2015-12-14 16:03:45

LinuxUnix端口扫描

2010-09-15 15:12:49

2013-03-22 10:07:38

2023-04-04 12:24:10

2023-09-06 07:23:32

2018-11-12 08:04:15

2021-01-10 08:14:01

Go语言TCP扫描器
点赞
收藏

51CTO技术栈公众号