1.Masscan概述
开源、免费的端口扫描器,获取主机开放的端口和端口信息。
速度非常快,6分钟可以扫描整个互联网,1台机器每秒可传输1000万个数据包。
只做SYN扫描、不首先ping主机,没有DNS解析发生,扫描完全随机化。
使用异步传输技术。
2.Masscan使用
// 安装Masscan
apt install Masscan
// Masscan的基本用法
masscan <target> -p port [options]
其中,是要扫描的目标IP地址或地址范围,可以使用CIDR表示法,如192.168.1.0/24,也可以使用逗号分隔的列表,如192.168.1.1,192.168.1.2,或者使用连字符表示的范围,如192.168.1.1-192.168.1.10。也可以使用0.0.0.0/0来表示整个互联网,但是这需要自己确认并排除一些特殊的地址,如255.255.255.255。
port是要扫描的目标端口或端口范围,可以使用逗号分隔的列表,如22,80,443,或者使用连字符表示的范围,如1-65535。也可以使用0-65535来表示所有的端口,但是这会花费更多的时间和资源。
[options]可以设置的一些可选参数,用来控制Masscan的行为和输出。Masscan有很多可选参数,可以使用--help或--nmap来查看它们的说明和用法。以下是一些常用的参数:
- --rate:设置扫描的速率,单位是每秒发送的数据包数,如--rate=10000表示每秒发送10000个数据包。Masscan的默认速率是100个数据包每秒,我们可以根据您的网络环境和需求来调整这个参数,但是请注意不要超过网络带宽或目标的容忍度,以免造成网络拥塞或目标崩溃。
- --banners:获取目标端口的banner信息,以识别服务的类型和版本,如--banners。Masscan默认不获取banner信息,我们可以开启这个参数来获取更多的信息,但是请注意这会增加扫描的时间和资源。
- --source--ip:设置源IP地址,用来伪装我们的真实IP地址,如--source-ip=192.168.1.100。Masscan默认使用您的真实IP地址作为源IP地址,您可以使用这个参数来隐藏您的身份,但是请注意您必须使用您可以控制的IP地址,否则您将无法接收到目标的回应。
- --exclude:排除一些不想扫描的目标地址或地址范围,如--exclude=192.168.1.1,192.168.1.10-192.168.1.20。Masscan默认扫描您指定的所有目标地址,您可以使用这个参数来排除一些特殊的地址,如广播地址、多播地址、回环地址等,或者一些您不感兴趣的地址。
- --output-format:设置输出的格式,如--output-format=list。Masscan支持多种输出格式,如list(列表格式)、binary(二进制格式)、xml(XML格式)、json(JSON格式)等。您可以根据您的需求和喜好来选择合适的输出格式。
- --output-filename:设置输出的文件名,如--output-filename=scan.txt。Masscan默认将输出打印到标准输出,您可以使用这个参数来将输出保存到一个文件中,以便于后续的分析和处理。
分析Masscan的输出。Masscan的输出取决于您选择的输出格式和文件名,如果您没有指定输出格式和文件名,Masscan将以列表格式将输出打印到标准输出,如下所示:
每一行表示发现了一个开放的端口,包括端口号、协议类型和IP地址。如果您开启了--banners参数,Masscan还会输出目标端口的banner信息,如下所示:
Banner on port 22/tcp on 192.168.1.1: SSH-2.0-OpenSSH_7.9p1 Debian-10+deb10u2
Banner on port 80/tcp on 192.168.1.2: HTTP/1.1 200 OK\r\nServer: nginx/1.14.2\r\nDate: Sat, 22 May 2021 08:23:45 GMT\r\nContent-Type: text/html\r\nContent-Length: 612\r\nLast-Modified: Tue, 19 Feb 2019 09:38:21 GMT\r\nConnection: close\r\nETag: "5c6bf9cd-264"\r\nAccept-Ranges: bytes\r\n\r\n
Banner on port 443/tcp on 192.168.1.3: TLS: Server Hello
每一行表示获取到了一个端口的banner信息,包括端口号、协议类型、IP地址和banner内容。我们可以根据这些信息来判断目标的操作系统、服务类型和版本等信息,以便于后续的渗透测试和漏洞利用。
如果指定了输出格式和文件名,Masscan将以相应的格式将输出保存到相应的文件中,您可以使用其他的工具或程序来读取和分析这些文件,如nmap、metasploit等。Masscan还支持一些特殊的输出格式,如grepable(可用grep命令过滤的格式)、redis(可存储到redis数据库的格式)、certs(可获取目标证书的格式)等,可以根据需求和喜好来选择合适的输出格式。