EzRustScan 是一个用 Rust 编写的高性能端口扫描器,支持扫描单个 IP 或网络范围。它利用 Tokio 异步运行时实现了并发扫描,能够快速定位开放端口。
- 并发扫描:使用 Tokio 异步框架,同时支持 100 个并发连接。
- 支持 IP 和网络范围扫描:可以扫描单个 IP 或网络段(如
192.168.1.0/24
)。 - 可定制端口范围:用户可自由设置起始端口和结束端口。
- 连接超时控制:支持自定义扫描超时时间。
- 彩色输出:方便快速区分扫描结果。
运行本工具之前,您需要确保以下条件:
- Rust 环境:安装最新的 Rust(推荐使用 Rust 官方工具链安装器)。
- 依赖库:使用
cargo
安装以下依赖。
cargo add tokio ipnetwork clap colored
克隆或下载代码后,使用以下命令进行构建:
cargo build --release
运行编译后的程序,支持以下命令行参数:
./ezrustscan --start_port 1 --end_port 1000 --ip 192.168.1.1 --timeout 2
参数 | 说明 | 是否必须 | 示例 |
---|---|---|---|
--ip |
指定扫描的目标 IP 地址 | 可选 | --ip 192.168.1.1 |
--network |
指定扫描的目标网络范围(CIDR 格式) | 可选 | --network 192.168.1.0/24 |
--start_port |
指定扫描的起始端口 | 必须 | --start_port 1 |
--end_port |
指定扫描的结束端口 | 必须 | --end_port 65535 |
--timeout |
连接超时时间(单位:秒),默认 1 秒 | 可选 | --timeout 2 |
--show-closed |
是否显示未开放的端口 | 可选 | --show-closed |
./ezrustscan --start_port 1 --end_port 100 --ip 192.168.0.1 --timeout 1
./ezrustscan --start_port 1 --end_port 100 --network 192.168.0.0/24 --timeout 2 --show-closed
- 开放端口:绿色显示
- 关闭端口(如果开启
--show-closed
):红色显示 - 总扫描时间:黄色显示
示例输出:
开始扫描 IP: 192.168.0.1
端口 22 开放
端口 80 开放
扫描完成,总耗时: 2.345s
本项目基于 MIT 开源协议发布,欢迎自由使用和修改。