zl程序教程

您现在的位置是:首页 >  其他

当前栏目

Linux下获取MAC地址(C语言版)

2023-02-19 12:21:10 时间
int get_mac(char binMAC[6])
{
	int sock;
	struct ifreq ifr;
	unsigned char *puc;
	memset(binMAC, 0, 6);
	sock = socket(AF_INET, SOCK_DGRAM, 0);
	if (sock == -1)
	{
		perror("socket");
		return -1;
	}
	strcpy(ifr.ifr_name, "eth0");
	if (ioctl(sock, SIOCGIFHWADDR, &ifr) < 0)
	{
		close(sock);
		perror("ioctl");
		return -1;
	}
	puc = ifr.ifr_hwaddr.sa_data;
	close(sock);
	memcpy(binMAC, puc, 6);
	return 0;
}