Linux中MAC地址问题,第1张

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地址

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » Linux中MAC地址问题

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情