Linux C语言获取设备MAC地址

在Linux平台下编译运行如下代码即可获取到设备的MAC地址:

eg:编译命令  gcc -o example example.c

     执行命令  ./example

#include 
#include 
#include 
#include 
#include 
#include 
void main()
{
char *device="eth0"; //teh0是网卡设备名
unsigned char macaddr[ETH_ALEN]; //ETH_ALEN(6)是MAC地址长度
//AF_INET = 1;
int i,s;
s = socket(AF_INET,SOCK_DGRAM,0); //建立套接口
struct ifreq req;
int err,rc;
rc = strcpy(req.ifr_name,device); //将设备名作为输入参数传入
err=ioctl(s,SIOCGIFHWADDR,&req); //执行取MAC地址操作
close(s);
if( err != -1 )
{
 memcpy(macaddr,req.ifr_hwaddr.sa_data,ETH_ALEN); //取输出的MAC地址
   for(i=0;i


你可能感兴趣的:(linux技术)