多網絡卡存在情況下獲取指定網絡卡的MAC位址

2021-07-31 14:40:41 字數 371 閱讀 3348

應用軟體中經常有需要顯示mac位址的功能,方便使用者判斷當前聯網狀態,如果是在多網絡卡存在(無線,有線等)下,網路會經常切換,獲取到的mac位址可能與預期不同,現給出指定網絡卡獲取mac位址的方法。

void get_mac(mac_address &mac_address)

//wlan0代表網絡卡的名字

strncpy(buf.ifr_ifrn.ifrn_name,"wlan0",sizeof(buf.ifr_ifrn.ifrn_name)-1);

if((ioctl(fd, siocgifhwaddr, &buf)) != -1)

close(fd);

return;

}

如上。

多網絡卡情況下,獲得每個網絡卡資訊

pip adapter info結構體指標儲存本機網絡卡資訊 ip adapter info pipadapterinfo null 得到結構體大小,用於getadaptersinfo引數 unsigned long stsize 0 呼叫getadaptersinfo函式,填充pipadapter...

雙網絡卡或多網絡卡情況下獲得所有的IP位址

在編寫基於sock的網路程式時,有時需列舉系統中繫結的所有ip位址,在一般控制項無法解決些問題的情況下,可使用如下方法一試 include stdafx.h include include include include void main gethostname myname,80 取得主機名 t...

Linux多網絡卡情況下虛擬IP快速生效的方法

物理環境 雙機 多網絡卡 其中乙個網絡卡繫結2個ip 帶arp快取的交換機 問題 主備切換後,虛擬ip繫結成功,但外面不能ping同虛擬ip,也就是虛擬ip不能快速生效 注意 如果使用普通的二層交換機,則不存在該問題,因為普通交換機沒有arp快取。當然,通過調整交換機上的arp快取失效時間,可以緩解...