linux獲取指定網口的MAC

2021-06-08 11:14:47 字數 437 閱讀 6875

#include #include #include #include #include #include #include #include int obtain_mac(const char *ifname, unsigned char *mac, int len)

strcpy(ifreq.ifr_name, ifname);

if (ioctl(sk, siocgifhwaddr, &ifreq) < 0)

memcpy(mac, (unsigned char *)ifreq.ifr_hwaddr.sa_data, 6);

out:

if (sk >= 0)

close(sk);

return ret;

}int main(int argc, char **argv)

Linux 獲取網口詳細資訊

一般來說,研究 ifconfig.c 源 就可以達到目的了。但是linux已經提供了比較方便的獲取網口資訊的方式 philip catonbj cat sys class net em1 statistics rx bytes 3911191274 在 sys class net inte ce s...

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

獲取本地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...

socket 指定網口收發資料

在系統中,可能會有多片網口,工作在不同的網段,同時有不同的閘道器,socket需要繫結其中的乙個網絡卡,進行網路的通訊。設定socket指定為eth1進行收發網路包 define inte xename eth1 struct ifreq inte ce strncpy inte ce.ifr if...