use default_net; 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!(); } }