3 个稳定版本
1.0.2 | 2023年3月23日 |
---|---|
1.0.1 | 2023年3月15日 |
1.0.0 | 2023年3月14日 |
#6 在 #nmap
25KB
300 代码行
这个应用是什么?
这是一个用 Rust 编写的端口扫描器的尝试,作为一项兴趣爱好项目。我认为这是一个很有趣的小工具,可以在编程经验更丰富的情况下练习编写 CLI 应用程序。
通过运行以下命令获取了常见端口集合
awk '$2~/tcp$/' /usr/share/nmap/nmap-services | sort -r -k3 | head -n 1000 | tr -s ' ' | cut -d '/' -f1 | sed 's/\S*\s*\(\S*\).*/\1,/'
如何安装此应用
如果已安装 cargo,只需运行以下命令即可安装此应用
cargo install rtcps
如果您使用的是基于 Debian 的系统,并且想要通过软件包管理器安装二进制文件,可以下载提供的 .deb 文件
如果您想从源代码构建二进制文件,可以运行 release.py
可用的二进制发布版本 |
---|
Debian |
如何使用此应用
您可以通过在项目目录中运行以下命令使用已安装的 Cargo 构建该应用程序。
cargo build --release
然后可以通过以下命令启动它
cargo run -- [ip_address_to_scan]
提供的 IP 地址可以是 Ipv4 或 Ipv6
默认情况下,如果仅提供 IP 地址,它将尝试扫描所有端口。您可以提供要扫描的端口范围,如下所示。
cargo run -- 127.0.0.1 1-65535
如果您只想扫描前 1000 个最常见的端口,可以运行
cargo run -- 127.0.0.1 -c
基准测试
如果您想运行基准测试,它由 Criterion.rs 支持,您只需运行
cargo bench
如果您想生成火焰图,请运行
cargo bench --bench all_port_bench -- --profile-time=5
不支持的目标
目前 Linux musl 支持不足,并且由于 clap 的 derive 功能在 musl 上不受支持,它无法编译。正在计划使用 musl 系统的备用 cli 结构。
许可
此应用程序根据 MIT/Apache 2.0 许可证授权
依赖项
~13–25MB
~351K SLoC