linux 獲取本地mac位址 指定網絡卡

2021-06-09 02:25:20 字數 747 閱讀 1858

// 獲取本地mac

std::string getlocalmac()

memset(&ifr_mac, 0, sizeof(ifr_mac));

strncpy(ifr_mac.ifr_name, "eth0", sizeof(ifr_mac.ifr_name) - 1);

if ((ioctl(sock_mac, siocgifhwaddr, &ifr_mac)) < 0)

sprintf(mac_addr, "%02x:%02x:%02x:%02x:%02x:%02x",

(unsigned char)ifr_mac.ifr_hwaddr.sa_data[0],

(unsigned char)ifr_mac.ifr_hwaddr.sa_data[1],

(unsigned char)ifr_mac.ifr_hwaddr.sa_data[2],

(unsigned char)ifr_mac.ifr_hwaddr.sa_data[3],

(unsigned char)ifr_mac.ifr_hwaddr.sa_data[4],

(unsigned char)ifr_mac.ifr_hwaddr.sa_data[5]

); close(sock_mac);

return mac_addr;

#else

return "00:00:00:00:00:00";

#endif

}

c 獲取本地IP和MAC位址

查詢了幾個方法,經過除錯修改,下面這個方法能很好的獲取到本地的ip和mac位址。可以用於這方面的功能實現。主要是要新增system.management的引用。csharp view plain copy print?using system using system.management usin...

linux獲取MAC位址程式設計

1 ifconfig a 其中 hwaddr欄位就是mac位址 2 cat sys class net eth0 address 檢視eth0的mac位址 3 cat proc net arp 檢視連線到本機的遠端ip的mac位址 4 程式中使用 siocgifhwaddr 的ioctl命令獲取ma...

獲取MAC位址

簡單的辦法是在控制台輸入ping 目標ip,然後用 arp a 來檢視.或者下面的 記下來以備後用 private declare function inet addr function inet addr lib wsock32.dll byval s as string as int32 pri...