pub struct Interface {Show 16 fields
pub index: u32,
pub name: String,
pub friendly_name: Option<String>,
pub description: Option<String>,
pub if_type: InterfaceType,
pub mac_addr: Option<MacAddr>,
pub ipv4: Vec<Ipv4Net>,
pub ipv6: Vec<Ipv6Net>,
pub ipv6_scope_ids: Vec<u32>,
pub flags: u32,
pub transmit_speed: Option<u64>,
pub receive_speed: Option<u64>,
pub gateway: Option<NetworkDevice>,
pub dns_servers: Vec<IpAddr>,
pub mtu: Option<u32>,
pub default: bool,
}Expand description
Structure of Network Interface information
Fields§
§index: u32Index of network interface. This is an integer which uniquely identifies the interface on this machine.
name: StringMachine-readable name of the network interface. On unix-like OSs, this is the interface name, like ‘eth0’ or ‘eno1’. On Windows, this is the interface’s GUID as a string.
friendly_name: Option<String>Friendly name of network interface. On Windows, this is the network adapter configured name, e.g. “Ethernet 5” or “Wi-Fi”. On Mac, this is the interface display name, such as “Ethernet” or “FireWire”. If no friendly name is available, this is left as None.
description: Option<String>Description of the network interface. On Windows, this is the network adapter model, such as “Realtek USB GbE Family Controller #4” or “Software Loopback Interface 1”. Currently this is not available on platforms other than Windows.
if_type: InterfaceTypeInterface Type
mac_addr: Option<MacAddr>MAC address of network interface
ipv4: Vec<Ipv4Net>List of Ipv4Nets (IPv4 address + netmask) for the network interface
ipv6: Vec<Ipv6Net>List of Ipv6Nets (IPv6 address + netmask) for the network interface
ipv6_scope_ids: Vec<u32>List of IPv6 Scope IDs for each of the corresponding elements in the ipv6 address vector. The Scope ID is an integer which uniquely identifies this interface address on the system, and must be provided when using link-local addressing to specify which interface you wish to use. The scope ID can be the same as the interface index, but is not required to be by the standard. The scope ID can also be referred to as the zone index.
flags: u32Flags for the network interface (OS Specific)
transmit_speed: Option<u64>Speed in bits per second of the transmit for the network interface, if known. Currently only supported on Linux, Android, and Windows.
receive_speed: Option<u64>Speed in bits per second of the receive for the network interface. Currently only supported on Linux, Android, and Windows.
gateway: Option<NetworkDevice>Default gateway for the network interface. This is the address of the router to which IP packets are forwarded when they need to be sent to a device outside of the local network.
dns_servers: Vec<IpAddr>DNS server addresses for the network interface
mtu: Option<u32>Maximum Transmission Unit (MTU) for the network interface
default: boolWhether this is the default interface for accessing the Internet.
Implementations§
Source§impl Interface
impl Interface
pub fn dummy() -> Interface
Sourcepub fn is_loopback(&self) -> bool
pub fn is_loopback(&self) -> bool
Check if the network interface is a Loopback interface
Sourcepub fn is_point_to_point(&self) -> bool
pub fn is_point_to_point(&self) -> bool
Check if the network interface is a Point-to-Point interface
Sourcepub fn is_multicast(&self) -> bool
pub fn is_multicast(&self) -> bool
Check if the network interface is a Multicast interface
Sourcepub fn is_broadcast(&self) -> bool
pub fn is_broadcast(&self) -> bool
Check if the network interface is a Broadcast interface
Sourcepub fn is_running(&self) -> bool
pub fn is_running(&self) -> bool
Check if the network interface is running and ready to send/receive packets
Sourcepub fn is_physical(&self) -> bool
pub fn is_physical(&self) -> bool
Check if the network interface is a physical interface