MASSCAN 是一个 Internet 规模的端口扫描器。它可以在 5 分钟内扫描整个 Internet,从单机每秒传输 1000 万个数据包。
它的用法(参数、输出)类似于著名的端口扫描器nmap
。在内部,它采用异步传输,类似于scanrand
、unicornscan
和ZMap
等端口扫描器 。不过它更灵活,允许任意端口和地址范围。
值得注意的是,masscan 使用它自己的 ad hoc TCP/IP 堆栈。除了简单的端口扫描之外的任何其他操作都可能导致与本地 TCP/IP 堆栈发生冲突。这意味着你需要使用--src-ip
从不同 IP 地址运行的选项,或使用--src-port
配置 masscan 使用的源端口,然后配置内部防火墙(如pf
或iptables
)以将这些端口与操作系统的其余部分隔开。
Masscan 可以做的不仅仅是检测端口是否打开。它还可以在该端口完成与应用程序的 TCP 连接和交互,以获取简单的“banner”信息。
Masscan 支持对以下协议进行 banner checking:
- FTP
- HTTP
- IMAP4
- memcached
- POP3
- SMTP
- SSH
- SSL
- SMBv1
- SMBv2
- Telnet
- RDP
- VNC