3 releases (breaking)
0.3.0 | Jun 12, 2020 |
---|---|
0.2.0 | Jun 6, 2020 |
0.1.0 | Jun 5, 2020 |
#9 in #enumerate
40KB
956 lines
netifs
This is a simple rust wrapper on top of libc/winapi to enumerate network interfaces. On Windows, an MSVC toolchain is necessary to build.
Loopback interface and IPv6 support is present in both platform specific implementations.
Usage
An small example program is provided in netifs-cli:
use netifs::get_interfaces;
fn main() {
for interface in get_interfaces().expect("Getting interfaces failed") {
println!("{}", interface.display_name);
if let Some(mac) = interface.mac_address {
println!("\tMAC: {}", mac.to_hex_string());
}
for ip in interface.ip_addresses {
println!("\tIP: {}", ip);
}
}
}
lib.rs
:
Utility create to enumerate local network interfaces.
This crate was tested on Windows 10 and Ubuntu 19.10
Example
use netifs::get_interfaces;
fn main() {
for interface in get_interfaces().expect("Getting interfaces failed") {
println!("{}", interface.name);
if let Some(mac) = interface.mac_address {
println!("\tMAC: {}", mac.to_hex_string());
}
for ip in interface.ip_addresses {
println!("\tIP: {}", ip);
}
}
}
Dependencies
~1–1.5MB
~24K SLoC