当前位置: 代码迷 >> 综合 >> Linux下如何获取网络设备MAC地址
  详细解决方案

Linux下如何获取网络设备MAC地址

热度:15   发布时间:2024-01-20 03:19:43.0
获取网络设备MAC地址:
/*创建socket,ifreq*/
int sock =  0x00;
if((sock =  socket (AF_INET, SOCK_STREAM,  0)) <  0){
#if  DEBUG
cout<<  "获取MAC地址-创建socket失败" <<endl;
#endif
return - 0x02;
}

struct  ifreq mifreq;
strcpy(mifreq. ifr_name,  "eth0");

/*获取MAC*/
if( ioctl (sock, SIOCGIFHWADDR, &mifreq) <  0){
#if  DEBUG
cout<<  "获取MAC地址-获取MAC失败" <<endl;
#endif
close(sock);
return  0x01;
}

/*将MAC地址进行赋值*/
memcpy(( void *)macBuff, ( void *)mifreq. ifr_hwaddr. sa_data,  0x06);

3.进程管理器起进程时,argv[0]代表第一个参数,而用手动起时,argv[1]是第一个参数。