1 2 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 32 33
|
use mac_address::mac_address_by_name;
fn main() {
#[cfg(any(target_os = "linux", target_os = "macos"))]
let name = "eth0";
#[cfg(target_os = "freebsd")]
let name = "em0";
#[cfg(target_os = "netbsd")]
let name = "igc0";
#[cfg(target_os = "openbsd")]
let name = "fxp0";
#[cfg(target_os = "windows")]
let name = "Ethernet";
#[cfg(target_os = "android")]
let name = "wlan0";
#[cfg(target_os = "illumos")]
let name = "igb0";
match mac_address_by_name(name) {
Ok(Some(ma)) => {
println!("MAC addr of {} = {}", name, ma);
println!("bytes = {:?}", ma.bytes());
}
Ok(None) => println!("Interface \"{}\" not found", name),
Err(e) => println!("{:?}", e),
}
}
|