十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
我们为什么要更改MAC地址,也许你不希望你的实际MAC地址(物理地址)暴露在公共网络上。另一种情况是,网络管理员可能在网络设备中阻止了一个特定的MAC地址。
公司专注于为企业提供网站制作、成都网站制作、微信公众号开发、商城网站制作,微信小程序定制开发,软件按需开发网站等一站式互联网企业服务。凭借多年丰富的经验,我们会仔细了解各客户的需求而做出多方面的分析、设计、整合,为客户设计出具风格及创意性的商业解决方案,创新互联更提供一系列网站制作和网站推广的服务。
环境
Centos 7.7 Minimal
GNU MAC changer 1.7.0
查询网卡和MAC地址
[root@localhost ~]# ip link show1: lo:mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:002: ens33: mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether 00:0c:29:48:4c:9a brd ff:ff:ff:ff:ff:ff
网卡名称是ens33,MAC地址是00:0c:29:48:4c:9a。请记下自己的MAC地址,稍后做完实验恢复到原来的MAC地址。
使用macchanger工具更改MAC地址
Macchanger可以查看、修改MAC地址。
安装macchanger
[root@localhost ~]# git clone
[root@localhost ~]# yum -y install autoconf automake gcc gcc-c++ texinfo
如何使用macchanger
使用下面的 命令 生成一个随机的mac地址为ens33网卡:
[root@localhost ~]# macchanger -r ens33
Current MAC: 00:0c:29:48:4c:9a (VMware, Inc.)
Permanent MAC: 00:0c:29:48:4c:9a (VMware, Inc.)
New MAC: a2:97:a2:55:53:be (unknown)
查看一下ens33的MAC地址是否改变了
[root@localhost ~]# ip link show ens332: ens33: mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether a2:97:a2:55:53:be brd ff:ff:ff:ff:ff:ff
可以更改成一个自己指定的mac地址,使用下面的 命令 更改:
[root@localhost ~]# macchanger --mac=XX:XX:XX:XX:XX:XX
如果想要恢复到真实的MAC地址,请使用下面的命令:
[root@localhost ~]# macchanger -p ens33
Current MAC: a2:97:a2:55:53:be (unknown)
Permanent MAC: 00:0c:29:48:4c:9a (VMware, Inc.)
New MAC: 00:0c:29:48:4c:9a (VMware, Inc.)
总结
我们为什么要更改MAC地址,也许你不希望你的实际MAC地址(物理地址)暴露在公共网络上。另一种情况是,网络管理员可能在网络设备中阻止了一个特定的MAC地址。
PS:一般默认的网卡文件名是eth0,根据IP地址对应的实际情况区判断是ethx即可。
1、 ifconfig -a 其中 HWaddr字段就是MAC地址,这是最常用的方式
2、cat /etc/sysconfig/network-scripts/ifcfg-eth0(CentOS or Redhat配置文件)
下面两种在未设置IP前可以查看。可以用来解决MAC和操作系统绑定的问题。比如你把操作系统装到远程服务器,操作系统的mac地址是A主机的地址,在B主机上由于MAC地址不同无法远程启动(因为这时配置文件仍是A的mac地址)。由于OS在启动时会检测硬件,获得硬件的MAC地址,写到/sys/class/net/eth0/address文件中,我们在OS获得mac地址之后,使用原来的MAC配置文件之前(也就是/etc/sysconfig/network-scripts/ifcfg-eth0 ),把真正的mac地址写到配置文件中。
3、cat /sys/class/net/eth0/address 查看eth0的MAC地址
4、dmesg | grep eth0
dmesg’命令设备故障的诊断是非常重要的。在‘dmesg’命令的帮助下进行硬件的连接或断开连接操作时,我们可以看到硬件的检测或者断开连接的信息。
对dmesg命令感兴趣的小伙伴,可参考:
1.临时性的修改:
①依次输入以下命令:
/sbin/ifconfig eth0 down/sbin/ifconfig eth0 hw ether 00:0C:29:36:97:20/sbin/ifconfig eth0 upservice network restart
2.永久性的修改:
方法①:
并把类似于1中的②脚本保存在/etc/rc.local中:这一步是起作用的关键步骤
脚本如下:
/sbin/ifconfig eth0 down/sbin/ifconfig eth0 hw ether 00:0C:29:36:97:20/sbin/ifconfig eth0 upservice network restart
方法②:
vi /etc/sysconfig/network-scripts/ifcfg-eth0
添加
MACADDR=00:0C:29:36:97:20
注释掉原来的HWADDR
:wq
保存退出。
方法③:
直接编辑 /etc/network/interfaces 文件,在 iface eth0 inet static 后面添加一行:
pre-up ifconfig eth0 hw ether xx:xx:xx:xx:xx:xx(要改成的MAC)
编辑interfaces文件
sudo nano /etc/network/interfaces
如下所示:
face eth0 inet staticpre-up ifconfig eth0 hw ether xx:xx:xx:xx:xx:xx(要改成的MAC)address 192.168.1.10netmask 255.255.255.0gateway 192.168.1.1
重启网卡
sudo /etc/init.d/networking restart
注:MAC地址由udev在系统启动时探测网卡并加载,可在以下两个文件中反映出来
/sys/class/net/eth0/address 《Linux就该这么学》 一起学习linx
/etc/udev/rules.d/70-persistent-net.rules —-修改无效,根据硬件自动生成的文件
不过,用ifconfig修改了mac后,
/sys/class/net/eth0/address 的值随即跟着变了;但 /etc/udev/rules.d/70-persistent-net.rules 却没有变,只有在udev探测到硬件发生变化时才会修改这个文件。
方法1:ifconfig命令查看网卡MAC地址
/sbin/ifconfig | grep HWaddr 或 /sbin/ifconfig | grep ether
有些Linux发行版本的MAC地址字段为HWaddr,有些Linux发行版本的MAC地址字段为ether。根据实际情况选择上面命令。《Linux就该这么学》
方法2:/sys/class/net/xxx/address查看
根据网卡名调整,例如这里网卡名为ens160,如果网卡名为xxx,那么应该用/sys/class/net/xxx/address
方法3:ip命令查看网卡MAC地址
方法4:nmcli命令查看网卡MAC地址
方法5:dmesg命令查看网卡MAC地址