linux c获取mac

来源:互联网 发布:淘宝那家店篮球鞋好 编辑:程序博客网 时间:2024/06/06 07:14
#include <stdio.h>#include <string.h>#include <net/if.h>#include <sys/ioctl.h>#include <arpa/inet.h>#include <errno.h>char *get_local_mac(char *if_name){    struct ifreq m_ifreq;    int sock = 0;    char mac[32] = " ";    sock = socket(AF_INET,SOCK_STREAM,0);    strcpy(m_ifreq.ifr_name,if_name);    ioctl(sock,SIOCGIFHWADDR,&m_ifreq);    int i = 0;    for(i = 0; i < 6; i++){        sprintf(mac+3*i, "%02X:", (unsigned char) m_ifreq.ifr_hwaddr.sa_data[i]);    }    mac[strlen(mac) - 1] = 0;    printf("MAC: %s\n", mac);    return NULL;}int main(){    get_local_mac("eth0");    return 0;}
0 0
原创粉丝点击