#include #include #define NETCARD "eth0"char macAddr[128] = {0};memset(macAddr, 0, 128);rtval = get_mac_addr(macAddr);int get_mac_addr(char *macAddr){int tmpsockid;struct ifreq ifr;unsigned char *ptr;memset(&ifr, 0, sizeof(struct ifreq));tmpsockid = socket(AF_INET, SOCK_DGRAM, 0);if(tmpsockid < 0) {printf("get mac address failed \n");return -1;}strcpy(ifr.ifr_name, NETCARD);if(ioctl(tmpsockid, SIOCGIFHWADDR, &ifr) < 0) {printf("get mac address failed \n");return -1;}ptr = (unsigned char *)ifr.ifr_hwaddr.sa_data;sprintf(macAddr, "%02x%02x%02x%02x%02x%02x", ptr[0], ptr[1], ptr[2], ptr[3], ptr[4], ptr[5]);printf("get mac address is %s\n", macAddr);close(tmpsockid);return 0;}
c语言 获取mac地址
最新推荐文章于 2023-06-25 07:45:17 发布