Linux中MAC地址问题
linux想修改系统中的MAC地址(例如改为0004a2d2e212),操作方法是:用#ifconfig
eth0
down
先把网卡禁用,否则会报告系统忙,无法更改;然后再用ifconfig
eth0
hw
ether
0004a2d2e212即可。
(此方法只适用即时的,重启后会恢复为默认的网卡MAC地址)
如果你想永久修改系统中的MAC地址,即让linux重启后也是修改后的MAC地址,可以这样操作:在/etc/rcd/rclocal中加入以下三行(也可在/etc/initd/network中添加以下三行)
ifconfig
eth0
down
ifconfig
eth0
hw
ether
0004a2d2e212
ifconfig
eth0
up
★、查看Linux中MAC地址是否改好
方法:可以这样操作:重启电脑,在终端下,输入IPconfig/all命令,于是Physical
Address就会显示一个地址,你检查一下即可得知MAC是否修改成功了。
有三种方法:
方法一:
1关闭网卡设备
ifconfig eth0 down
2修改MAC地址
ifconfig eth0 hw ether MAC地址
3重启网卡
ifconfig eth0 up
方法二:
以上方法一修改后linux重启后MAC又恢复为原来的,为了下次启动时修改后的MAC仍有效,我们可以修改文件file:/etc/rcd/rcsysinit(RedFlag Linux为这个文件,其他版本的linux应该不同)的内容,在该文件末尾加以下内容:
ifconfig eth0 down
ifconfig eth0 hw ether MAC地址
ifconfig eth0 up
方法三:
很简单的,只是在/etc/sysconfig/network-scripts/ifcfg-eth0中加入下面一句话:
MACADDR=00:AA:BB:CC:DD:EE
我们为什么要更改MAC地址,也许你不希望你的实际MAC地址(物理地址)暴露在公共网络上。另一种情况是,网络管理员可能在网络设备中阻止了一个特定的MAC地址。
环境
Centos 77 Minimal
GNU MAC changer 170
查询网卡和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 https://githubcom/alobbs/macchanger
[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地址。
准备工具/材料:装有LINUX系统的电脑一台。
在LINUX下查看网卡的MAC地址的办法如下:
1、首先在桌面右键选择“打开终端”。
2、接着输入ifconfig并按下回车键。
3、找到第四行中ether后面的字符即可查询。
可以使用ifconfig命令。ifconfig是linux中用于显示或配置网络设备(网络接口卡)的命令,英文全称是network interfaces configuring。它能够显示网卡的IP地址、子网掩码、广播地址、硬件地址等信息。
用法示例:
查看网卡eth0的mac地址
$ ifconfig eth0
mac地址位于上图中的红色方框处。
sed -i 's@#iface eth0 inet static@pre-up ifconfig eth0 hw ether '$MAC'@g' grep -rl "#iface eth0 inet static" /etc/network/interfaces
有一批ARM板出来全都是同一个MAC地址: 08:00:27:00:01:92
这就导致获取的IP都是一样的,需要让他们启动后获取各自不一样的IP,因此每个板子都需要获得其自己的MAC地址(后三个BYTE区分身份): "08:00:27:XX:XX:XX"
用shell脚本来实现随机的MAC。
Printf random mac by 4 commands :
Target:
demo: /etc/initd/networksh, 添加配置的实现:
Github地址: https://githubcom/kumataahh
方法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地址
0条评论