Function default_net::interface::get_interfaces
source · pub fn get_interfaces() -> Vec<Interface>
Expand description
Get a list of available Network Interfaces
Examples found in repository?
examples/list_interfaces.rs (line 4)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
fn main() {
let interfaces = default_net::get_interfaces();
for interface in interfaces {
println!("Interface");
println!("\tIndex: {}", interface.index);
println!("\tName: {}", interface.name);
println!("\tFriendly Name: {:?}", interface.friendly_name);
println!("\tDescription: {:?}", interface.description);
println!("\tType: {}", interface.if_type.name());
if let Some(mac_addr) = interface.mac_addr {
println!("\tMAC: {}", mac_addr);
} else {
println!("\tMAC: (Failed to get mac address)");
}
println!("\tIPv4: {:?}", interface.ipv4);
println!("\tIPv6: {:?}", interface.ipv6);
println!("\tFlags: {:?}", interface.flags);
println!("\tTransmit Speed: {:?}", interface.transmit_speed);
println!("\tReceive Speed: {:?}", interface.receive_speed);
if let Some(gateway) = interface.gateway {
println!("Gateway");
println!("\tMAC: {}", gateway.mac_addr);
println!("\tIP: {}", gateway.ip_addr);
} else {
println!("Gateway: (Not found)");
}
println!();
}
}