linux系统修改Mac地址

两台装置的mac地址不能相同!!!

mac地址相同,即使ip地址不同,执行ping命令的时候,也会造成网络不同,或者丢失数据报现象。

通过串口连接装置,否则down命令之后网口就无法启动了。(或者有多个网口也行)

设置装置Mac地址的三步骤:

1)ifconfig eth0 down            //eth0  为对应的网卡名称,下同。

2)ifconfig eth0 hw ether 00:01:22:33:11:02   //(有的装置的mac地址的第一个字节的第二位必须是0

3)ifconfig eth0 down

ps:

mac地址是6个字节;ipV4是4个字节。

我们知道,接入在同一网络中的装置IP不同相同,mac地址也不能相同。

工程中,我们一般都会根据实际情况修改ip地址,但由于mac地址是出厂带的,我们一般不需要修改,实际中,遇到出厂的板卡mac地址都是一样的,这样就需要我们手动修改mac,十分的麻烦。

解决思路:通过修改将ip地址的4个字节嵌入到mac地址中,这样修改ip的同时,就能够修改mac地址,并且保证mac地址不会重复!

技巧:

ifconfig eth0 hw ether 00:01:22:33:11:02

mac地址中的 00:01:22:33:11:02 实际上是十六进制数

我们在写程序的时候,可以不必添加间隔的冒号,而是直接写,效果是一样的。

char *ip = "192.168.1.12";
unsigned uip= inet_addr(ip);
char mac[256]={0};
char cmd[256]={0};
sprintf(mac,"0001%08x",uip);//利用ip地址组成6个字节的mac地址的后4个字节,前两个字节我们定义为0001
sprintf(cmd,"ifconfig eth0 hw ether %s",mac);
system(cmd);//设置网卡eth0的mac地址

  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值