3 个版本
0.1.2 | 2021 年 6 月 8 日 |
---|---|
0.1.1 | 2021 年 6 月 6 日 |
0.1.0 | 2021 年 3 月 12 日 |
1264 在 网络编程
每月 480 次下载
在 3 个 Crates 中使用 (直接使用 2 个)
76KB
2K SLoC
IFCFG
IFCFG (ifconfig) 是一个用于获取 Windows/Linux/Mac 网络接口信息的 Rust 库
需求
- Rust
将库包含在项目中
[dependencies]
ifcfg = "0.1.2"
示例
use ifcfg;
fn main() -> ifcfg::Result<()> {
let ifaces = ifcfg::IfCfg::get().expect("could not get interfaces");
println!("{:#?}", &ifaces);
Ok(())
}
编译
cargo b
测试
cargo t
运行包含的示例
cargo run --example interfaces
Compiling ifcfg v0.1.0 (/root/ifcfg)
Finished dev [optimized + debuginfo] target(s) in 0.63s
Running `target/debug/examples/interfaces`
[
IfCfg {
name: "lo",
mac: "00:00:00:00:00:00",
addresses: [
InterfaceAddress {
address_family: IPv6,
address: Some(
[::1]:0,
),
mask: Some(
[ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff]:0,
),
hop: None,
},
InterfaceAddress {
address_family: IPv4,
address: Some(
127.0.0.1:0,
),
mask: Some(
255.0.0.0:0,
),
hop: Some(
Destination(
127.0.0.1:0,
),
),
},
InterfaceAddress {
address_family: Packet,
address: None,
mask: None,
hop: None,
},
],
description: "",
},
IfCfg {
name: "ens33",
mac: "00:0c:29:0a:e0:b4",
addresses: [
InterfaceAddress {
address_family: IPv6,
address: Some(
[fe80::20c:29ff:fe0a:e0b4%2]:0,
),
mask: Some(
[ffff:ffff:ffff:ffff::]:0,
),
hop: None,
},
InterfaceAddress {
address_family: IPv6,
address: Some(
[fd15:4ba5:5a2b:1008:20c:29ff:fe0a:e0b4]:0,
),
mask: Some(
[ffff:ffff:ffff:ffff::]:0,
),
hop: None,
},
InterfaceAddress {
address_family: IPv4,
address: Some(
192.168.2.3:0,
),
mask: Some(
255.255.255.0:0,
),
hop: Some(
Broadcast(
192.168.2.255:0,
),
),
},
InterfaceAddress {
address_family: Packet,
address: None,
mask: None,
hop: None,
},
],
description: "",
},
]
许可: MIT/Apache
依赖项
~2.2–3MB
~69K SLoC