linux 使用 C 语言获得系统 MAC 地址

C语言获取网卡MAC地址
本文提供了一个使用C语言获取指定网卡(例如eth0)MAC地址的示例程序。该程序通过socket编程和ioctl系统调用实现,适用于Linux环境。
//google 到的  测试有效 
#include <stdio.h>
#include <sys/ioctl.h>
#include <sys/types.h>    
#include <sys/socket.h>
#include <net/if.h>

int main( int argc, char *argv[] )
{
    int s;
    struct ifreq buffer;
	
    s = socket(PF_INET, SOCK_DGRAM, 0);
	
    memset(&buffer, 0x00, sizeof(buffer));
	
    strcpy(buffer.ifr_name, "eth0");
	
    ioctl(s, SIOCGIFHWADDR, &buffer);
	
    close(s);
	
    for( s = 0; s < 6; s++ )
    {
		printf("%.2X ", (unsigned char)buffer.ifr_hwaddr.sa_data[s]);
    }
	
    printf("\n");
	
    return 0;
}

转载于:https://my.oschina.net/sincoder/blog/93639

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值