#include <sys/socket.h>
#include <sys/ioctl.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <net/if.h>
#include <string.h>
#include <stdio.h>
void GetMac(void *data)
{
int i;
char * device = "eth0";
struct ifreq ifreq;
int sock;
char mac[32];
if((sock=socket(AF_INET,SOCK_STREAM,0))<0)
{
perror("socket");
return;
}
strcpy(ifreq.ifr_name,device);
if(ioctl(sock,SIOCGIFHWADDR,&ifreq)<0)
{
perror("ioctl");
return;
}
for (i=0; i<6; i++)
{
sprintf(mac+3*i, "x:", (unsigned char)ifreq.ifr_hwaddr.sa_data[i]);
}
sprintf(mac+17,"\0");
printf("MAC: %s \n", mac);
strcpy(data,mac);
return ;
}
Linux 获取本机MAC,IP地址的方法
最新推荐文章于 2021-05-13 07:36:38 发布