3秒内搞定服务器端口扫描!用RustScan快速查看开放端口
1. RustScan简介
RustScan 是一款开源的现代端口扫描器,因其极快的扫描速度和灵活的功能而著称。它能够在短短 3 秒内扫描所有 65,000 个端口,并自动将扫描结果传输到 Nmap 以进行更深入的分析。RustScan 支持多种网络配置(如 IPv6、CIDR 和文件输入),并提供了简单易用的命令行接口,适合快速发现开放端口的场景。
2. RustScan特点
• 极快的扫描速度:RustScan能够在短短3秒内扫描所有65,000个端口,是目前最快的端口扫描工具之一。这使得它特别适合于需要快速发现开放端口的场景。
• 自动集成Nmap:RustScan能够将扫描结果自动传输到Nmap中,以进行更深入的分析。这样,用户可以快速定位开放端口,并进一步利用Nmap执行详细的漏洞扫描和渗透测试。
• 自适应性能优化:RustScan具有自适应学习的特性,其性能会随着使用频率的增加而不断优化。尽管没有使用复杂的机器学习算法,但通过基本的数学模型来提高效率,使得扫描速度和准确性能够不断改进。
• 广泛的适应性:RustScan支持IPv6、CIDR和文件输入等常见网络配置,使其能够适应多种不同的使用场景。无论是单一IP地址、网段还是更复杂的网络拓扑,RustScan都能高效地进行扫描。
• 简单易用的命令行接口:RustScan提供了友好的命令行界面,支持各种常用参数和标志。例如,用户可以指定IP地址、端口范围、扫描顺序等,还可以创建alias别名以简化操作流程。这使得RustScan易于集成到不同的工作流中。
3. RustScan的基本使用
3.1 创建alias别名
为了提高使用效率,可以为 RustScan 创建一个 alias 别名,使其通过 Docker 容器运行时更加便捷。这不仅节省了时间,还能确保在不同环境中使用相同的命令。
alias rustscan="docker run -it --rm --name rustscan rustscan/rustscan:latest"
rustscan
是一个用 Rust 编写的快速端口扫描工具。以下是一些基本的使用方法和参数说明:
3.2 基本用法
rustscan [FLAGS] [OPTIONS] [-- <command>...]
3.3 常用参数说明
• FLAGS (标志):
•
--accessible
:启用无障碍模式,关闭可能影响屏幕阅读器的功能。•
-g, --greppable
:仅输出端口号,不执行 Nmap,适合将结果输出到文件或与grep
命令结合使用。•
-h, --help
:显示帮助信息。•
-n, --no-config
:忽略配置文件。•
--top
:扫描最常用的 1000 个端口。•
-V, --version
:显示版本信息。
-OPTIONS (选项):
•
-a, --addresses <addresses>
:指定要扫描的 IP、主机或 CIDR 列表,支持逗号分隔或换行分隔的文件。•
-b, --batch-size <batch-size>
:指定批次大小,以调整扫描速度,默认值为 4500。•
-c, --config-path <config-path>
:指定自定义配置文件的路径。•
-p, --ports <ports>
:指定要扫描的端口列表,例如80,443,8080
。•
-r, --range <range>
:指定要扫描的端口范围,例如1-1000
。•
--scan-order <scan-order>
:指定扫描顺序,可以选择serial
(顺序)或random
(随机)。•
--scripts <scripts>
:指定脚本级别,默认为default
,可选值包括None
、Default
、Custom
。•
-t, --timeout <timeout>
:设置端口超时时间(毫秒),默认值为 1500 毫秒。•
--tries <tries>
:设置在判断端口关闭前的尝试次数,默认值为 1。•
-u, --ulimit <ulimit>
:自动提升系统的ULIMIT
值。• ARGS (参数):
•
<command>
:脚本的参数。若需使用-A
等参数,需在rustscan
参数之后用--
结束。例如:rustscan -T 1500 -a 127.0.0.1 -- -A -sC
3.4 示例
• 扫描指定 IP 地址的前 1000 个端口:
rustscan -a 192.168.1.1 --top
• 扫描指定的端口范围:
rustscan -a 192.168.1.1 -r 1-1000
• 扫描指定服务器:
rustscan -a 192.168.1.1
结果示例:
可以看到能够扫描出哪些端口是开放的,并且能够初步判断是哪些服务
Open 192.168.1.1:80
Open 192.168.1.1:22
...
Open 192.168.1.1:50079
Nmap scan report for 192.168.1.1
Host is up, received syn-ack (0.018s latency).
Scanned at 2024-08-25 01:13:13 UTC for 7s
PORT STATE SERVICE REASON
22/tcp open ssh syn-ack
53/tcp open domain syn-ack
80/tcp open http syn-ack
111/tcp open rpcbind syn-ack
443/tcp open https syn-ack
1569/tcp open ets syn-ack
2049/tcp open nfs syn-ack
2181/tcp open eforward syn-ack
3306/tcp open mysql syn-ack
3888/tcp open ciphire-serv syn-ack
• 扫描网段:
rustscan -a 192.168.1.1/24
4. 注意事项
使用 rustscan
进行扫描时,请务必遵循道德和法律规定,避免对未经授权的目标进行扫描,以免对目标服务器造成不必要的影响。
欢迎关注我的公众号“编程与架构”,原创技术文章第一时间推送。




