如果您不希望在与公共WiFi热点连接时公开真实的MAC地址,则可以简单地对其进行更改或使用其他MAC地址进行伪造。有时,网络管理员可能已阻止路由器或防火墙中的特定MAC地址。在这种情况下,您可以使用此方法更改MAC ID。更改MAC地址也称为欺骗MAC地址或伪造MAC地址。在这个简短的教程中,我们将看到如何在Linux中更改MAC地址。
我在CentOS 7和Ubuntu 18.04 LTS服务器版本上测试了本指南。如下所述,它运作良好。让我们开始吧。
在Linux中查找MAC地址
首先,让我们找出Linux中网络接口卡的MAC地址或硬件地址。
$ ifconfig | grep HWaddr
样本输出:
enp0s3 Link encap:Ethernet HWaddr 08:xx:xx:xx:xx:x1
要么,
$ ip link show
enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000 link/ether 08:xx:xx:xx:xx:x1 brd ff:ff:ff:ff:ff:ff
要么
$ ifconfig | grep ether
样本输出:
ether 24:xx:xx:xx:xx:x9 txqueuelen 1000 (Ethernet) ether c0:xx:xx:xx:xx:xf txqueuelen 1000 (Ethernet)
您可以使用上述任何命令来查找网络接口卡的MAC ID。这些命令几乎可以在所有Linux发行版上使用。
现在让我们看看如何更改MAC地址。
在Linux中更改MAC地址
我们可以用两种方法做到这一点。请注意,您不应在当前正在使用的实时网卡上执行此操作。如果这样做,您的网络连接可能会终止。尝试使用另一张卡的此方法。
方法1:使用Macchanger
Macchanger是查看,修改和操作网络接口卡的MAC地址的简单实用程序。几乎所有GNU / Linux操作系统都可以使用它。
在Arch Linux上:
要在Arch Linux及其衍生版本中安装Macchanger,请运行:
$ sudo pacman -S macchanger
在Fedora,CentOS和RHEL上:
$ sudo yum install macchanger
要么
$ sudo dnf install macchanger
在Debian / Ubuntu上:
要在Debian,Ubuntu及其衍生版本中进行macchanger,请运行:
$ sudo apt-get install macchanger
指定是否应将macchanger设置为在每次启动或关闭网络设备时自动运行。每当您连接以太网电缆或重新启用wifi时,这都会提供一个新的MAC地址。
我建议您不要自动运行它,除非您确实确实需要每次更改MAC ID。因此,选择“ 否”,然后按Enter键继续。
Macchanger已安装。
用法
要分配任何随机MAC地址,请运行:
$ macchanger -r <接口名称>
要查找网络接口名称,请运行:
$ ip addr
样本输出:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 08:xx:xx:xx:xx:x1 brd ff:ff:ff:ff:ff:ff inet 192.168.1.105/24 brd 192.168.1.255 scope global enp0s3 valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:fe12:f8c1/64 scope link valid_lft forever preferred_lft forever
如您在上面的屏幕截图中所见,enp0s3是我的网络接口卡的名称。
要更改enp0s3网卡的MAC地址,请运行:
$ sudo macchanger -r enp0s3
更改MAC ID后,请使用以下命令进行验证:
$ ip addr
样本输出:
现在您将看到MAC已被欺骗。
要将MAC地址更改为特定值,请使用以下命令指定任何自定义MAC地址:
$ macchanger --mac = XX:XX:XX:XX:XX:XX
其中XX:XX:XX:XX:XX:XX是您希望更改为的新MAC ID。
最后,要将MAC地址恢复为其原始的永久硬件值,请运行以下命令:
$ macchanger -p enp0s3
但是,您不必这样做。重新引导系统后,更改将自动丢失,并且实际的MAC地址将再次恢复。
有关更多详细信息,请查看手册页:
$ man macchanger
方法2:使用iproute2
首先,使用以下命令关闭网卡:
$ sudo ip link set dev enp0s3 down
接下来,使用命令设置新的MAC:
$ sudo ip link set dev enp0s3 address XX:XX:XX:XX:XX:XX
最后,使用命令将其重新打开:
$ sudo ip link set dev enp0s3 up
现在,使用以下命令验证新的MAC ID:
$ ip link show enp0s3
样本输出:
link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
另外,您可以使用“ ifconfig”命令执行此操作,如下所述。
$ sudo ifconfig eth0 down
$ sudo ifconfig eth0 hw ether 00:80:48:BA:d1:30
$ sudo ifconfig eth0 up
$ ifconfig eth0 | grep HWaddr