文章目录
- 3秒内搞定服务器端口扫描!用RustScan快速查看开放端口
- 1. RustScan简介
- 2. RustScan特点
- 3. RustScan的基本使用
- 3.1 创建alias别名
- 3.2 基本用法
- 3.3 常用参数说明
- 3.4 示例
- 4. 注意事项
最近开始公众号文章也开始同步更新了,对Java、大数据、人工智能、开发运维相关技术分享,文章对您有用的话,辛苦您也关注下公众号,感谢!
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
进行扫描时,请务必遵循道德和法律规定,避免对未经授权的目标进行扫描,以免对目标服务器造成不必要的影响。