5 个稳定版本
3.0.0 | 2024 年 8 月 3 日 |
---|---|
2.0.0 | 2024 年 8 月 1 日 |
1.9.999 | 2024 年 7 月 31 日 |
#1100 in 网络编程
每月 428 次下载
35KB
599 行
ifstat-rs
ifstat-rs
是一个简单高效的 Rust 工具,用于报告网络接口统计信息,类似于 ifstat。
功能
- 实时监控:每秒解析并显示每个网络接口的接收和发送字节数。
- 接口灵活性:监控特定接口、所有接口或仅回环接口。
- 可配置更新:设置更新之间的延迟并限制更新次数。
- 具有友好名称的接口列表:在支持的情况下显示接口的友好名称(目前为 Windows)。
支持的平台
- Linux:完全支持,从
/proc/net/dev
获取实时网络统计信息。 - Windows:自 v2.0.0 版本起支持。
- macOS:自 v3.0.0 版本起支持。
安装
要安装 ifstat-rs
,请确保您已安装 Rust 和 Cargo。选择选项 A 或 B
A: 从 crates.io 发布版本
cargo install ifstat-rs
B: 从开发 Git 仓库安装
cargo build --release
sudo cp target/release/ifstat-rs /usr/local/bin/
ifstat-rs --version
用法
选项
ifstat-rs
-a
:监控所有接口。-l
:包括回环接口。-z
:隐藏计数器保持为零的不活动接口。<interfaces>
:指定要监控的接口,用逗号分隔(例如,-,lo
)。--list-interfaces
:列出所有接口,在支持的情况下显示友好名称(目前为 Windows)。--first-measurement <seconds>
:设置首次测量的延迟(默认与 --delay 相同)。<delay>
:更新之间的延迟(秒)(默认为 1 秒)。<count>
:停止前的更新次数(默认为无限)。
默认情况下,ifstat-rs显示除“lo”之外的所有接口。
示例
默认用法
$ ifstat-rs
eth0
KB/s in KB/s out
8724.76 225.89
10356.68 259.95
13281.06 294.90
监控特定接口
# Linux/Mac-style
ifstat-rs -i eth0,wlan1
# Windows-style
ifstat-rs -i "\DEVICE\TCPIP_{66963456-C690-4E4E-940B-E7C915B9A07D},\DEVICE\TCPIP_{97D92124-3AC3-45B5-8634-F6547F9676CE}"
查找接口列表,(在Windows上:存在时带有适配器名称)
$ ifstat-rs --list-interfaces
3 adapters:
\DEVICE\TCPIP_{66963456-C690-4E4E-940B-E7C915B9A07D} Ethernet
\DEVICE\TCPIP_{3CE6ABDA-3928-11EF-BFD9-806E6F6E6963} Loopback Pseudo-Interface 1
\DEVICE\TCPIP_{97D92124-3AC3-45B5-8634-F6547F9676CE} vEthernet (nat)
16 interfaces:
[...]
\DEVICE\TCPIP_{97D92124-3AC3-45B5-8634-F6547F9676CE} (vEthernet (nat))
\DEVICE\TCPIP_{66963456-C690-4E4E-940B-E7C915B9A07D} (Ethernet)
\DEVICE\TCPIP_{34DB3D4C-C1FC-4CDF-8BB2-9A7B1D40D640}
\DEVICE\TCPIP_{3CE6ABDA-3928-11EF-BFD9-806E6F6E6963} (Loopback Pseudo-Interface 1)
[...]
监控所有接口,每秒测量一次,持续10秒
ifstat-rs -a 1 10
包括回环接口
ifstat-rs -l
指定延迟和计数 - 首次测量后1秒,然后每60秒一次
ifstat-rs -a --first-measurement 1 60
开发
使用以下命令运行工具
cargo run -- -a
许可证
本项目采用MIT许可证 - 详细内容请参阅LICENSE文件。
“本项目是在ChatGPT的帮助下生成的。请注意,ChatGPT可能会犯错误。仔细审查和核实由工具提供的信息非常重要。”这是它所说的。只是让您知道。因为我想也许并不是所有的错误都是我的责任。
依赖项
~7–48MB
~746K SLoC