如何在 Linux 中更改 MAC 地址

MAC 地址是分配给连接到网络的每个设备的唯一标识符。 尽管 MAC 地址是永久性的,但在某些情况下您可能希望在您的设备上更改它。 例如,您可以更改设备上的 MAC 地址以隐藏您的身份或解决网络兼容性问题。 考虑到这一点,本指南将向您展示如何更改 Linux 设备上的 MAC 地址。 因此,无论您是初学者还是经验丰富的 Linux 用户,都可以按照本指南快速轻松地修改 MAC 地址。

在 Linux 中更改 MAC 地址 (2023)

什么是 MAC 地址?

如上所述,MAC 地址(或媒体访问控制地址)是用于识别连接到网络的设备的唯一标识符。 此地址用于识别网络上的其他设备(无论是计算机、智能手机还是打印机)并与之通信。

MAC 地址是一个 48 位十六进制地址,由六组由冒号或连字符分隔的两位数字或字符组成。 它也被称为物理地址或烧录地址。 那是因为 MAC 地址是由制造商分配的,并且被刻录到设备的硬件中。 所以它通常不能更改,或者至少它们不会像 IP 地址那样自行更改。

MAC地址和IP地址的区别

每个网络设备至少需要两个地址才能被其他设备和网络接口识别——一个是 MAC 地址,另一个是 IP 地址(Internet 协议地址)。 前者用于唯一标识网络上的设备,而后者有助于标识设备与网络的连接。 这意味着 IP 地址可以更轻松地定位您的设备,因此网络知道将您的数据发送到哪里。 此外,如上所述,IP 地址由互联网服务提供商 (ISP) 分配,而 MAC 地址由制造商分配。

  如何在 Linux 上安装 LightningBug GTK 主题

但是,我们可以使用一些巧妙的软件技巧来更改 MAC 地址,我们将在本文中学习这些技巧。 与可以永久更改的 IP 地址不同,当您重新启动设备时,MAC 地址会恢复为原始制造商的地址。

为什么您可能想要更改 MAC 地址?

您想要更改 Linux 计算机上的 MAC 地址的原因可能有很多。 更改 MAC 地址会使网络设备将您视为一个新的个体。 这可以使您在公共网络上完全匿名,从而保护您免受公共网络上的网络攻击。 您还可以通过更改设备的 MAC 地址,在机场、咖啡馆等处访问无限制的免费公共 Wi-Fi。

MAC 地址更改还可以用于一些非法活动,例如冒充组织的管理员。 通过将您的 MAC 地址更改为管理员的 MAC 地址,您可以获得对受限网络的非法访问。 但是,我们谴责任何此类恶意行为,并建议不要这样做。

在 Linux 中安装软件包以更改 MAC 地址

有几种终端工具,例如 macchanger、net-tools 等,可以帮助您更改 Linux PC 上的 MAC 地址。 在这里,我们列出了安装这两个包的 Linux 命令,所以请继续。

要在基于 Debian 的系统上安装 macchanger 和 net-tools 软件包,请使用以下命令:

sudo apt 安装 macchanger 网络工具

对于基于 CentOS 的系统,使用以下命令安装软件包:

sudo yum 安装 macchanger 网络工具

要在基于 Arch 的系统中安装这两个包,请使用以下命令:

sudo pacman -S macchanger 网络工具

在安装 macchanger 软件包时,它会显示一个提示,询问用户是否希望在每次引导进入系统时更改 MAC 地址。 使用箭头键浏览选项。 根据您的喜好选择是或否。 然后,按 Enter 确认您的选择。

如何临时更改 MAC 地址

步骤 1:检查网络设备

在更改 MAC 地址之前,您需要知道设备的名称及其当前的 MAC 地址。 要列出系统上存在的所有网络设备,请使用以下命令:

配置文件

  如何在 Linux 上玩 Deadcore

对于较旧的系统或出现任何错误,请使用以下命令:

ip地址显示

运行该命令时,输出的第一部分显示环回地址信息,可以使用 lo 标签识别该信息,用于诊断网络中的任何问题。

第二部分显示有关网络接口的详细信息,在本例中为 eth0。 此外,ether 子标签指定硬件地址或 MAC 地址,在我们的例子中为 08:00:27:05:10:68。 inet 子标签指定 IPv4 IP 地址,inet6 子标签指定 IPv6 IP 地址。

第 2 步:禁用网络设备

现在您已经记下了您的网络接口名称,您首先必须禁用设备与网络的连接以更改其在 Linux 中的 MAC 地址。 使用以下命令禁用设备:

sudo ifconfig 下来

当您运行此命令时,您将断开与 Internet 的连接。 如果上述命令在您的系统上不起作用,您可以重新安装 net-tools 包或使用以下命令:

sudo ip link set dev down

第 3 步:更改 MAC 地址

禁用设备的网络连接后,您现在可以更改 MAC 地址。 使用以下命令更改 Linux 中的 MAC 地址。

sudo ifconfig down hw ether

然后,您可以使用此命令再次启用该设备。 按顺序运行命令以获得所需的结果。

sudo ifconfig up

如果出现任何错误,请使用以下命令更改 MAC 地址并启用设备的网络连接:

ip link set dev 地址

ip link set dev up

第 4 步:验证所做的更改

要验证您的 Linux 系统的 MAC 地址是否已成功更改,请运行以下命令:

配置文件

如果出现任何错误或您的系统较旧,请使用以下命令:

ip地址显示

如何永久更改 MAC 地址

第 1 步:检查网络设备

与上一节一样,您首先需要使用以下命令列出系统中的所有网络设备并记下接口名称:

配置文件

要查看网络接口的当前 MAC 地址,请使用以下命令:

sudo macchanger –show

  如何在 Linux 上加入我们

第 2 步:分配新的 MAC 地址

使用 macchanger 工具永久更改 MAC 地址时,不需要禁用设备网络连接并重新启用它。 您可以使用以下命令直接为您的 PC 分配随机 MAC 地址:

sudo macchanger -r <接口名称>

要在 Linux 中分配特定的 MAC 地址,请使用以下命令。 您将需要指定您希望分配给 Linux 系统的 MAC 地址(6 组两位数字或以冒号分隔的字符)。 语法如下所示:

sudo macchanger –mac=

例如,我们使用以下命令将接口 eth0 的 mac 地址更改为 00:00:00:31:33:73。

sudo macchanger –mac=00:00:00:31:33:73 eth0

第 3 步:永久更改

1. 要在每次启动进入系统时获取新的 MAC 地址,您可以创建 /etc/systemd/system/[email protected] 使用您选择的 Linux 文本编辑器创建 systemd 单元文件。 为此,请在终端中键入以下命令:

sudo vim /etc/systemd/系统/[email protected]

2. 然后,将以下文本粘贴到 [email protected] 文件:

[Unit]
Description=changes mac for %I
Wants=network.target
Before=network.target
BindsTo=sys-subsystem-net-devices-%i.device
After=sys-subsystem-net-devices-%i.device

[Service]
Type=oneshot
ExecStart=/usr/bin/macchanger -r %I
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

在上面的代码中,每次启动 Linux 计算机时,都会为网络接口分配一个新的 MAC 地址。 您可以使用 -m 选项而不是第 10 行中的 -r 添加特定的 MAC 地址,如下所示:

ExecStart=/usr/bin/macchanger -m XX:XX:XX:XX:XX:XX %I

3.接下来,您需要做的就是使用以下命令启用刚刚创建的服务:

sudo systemctl 启用 [email protected]<接口名称>.service

现在,一切就绪。 每次启动新会话时,您的 Linux 计算机都会自动(永久)将 MAC 地址更改为新地址。

经常问的问题

MAC地址是永久的吗?

是的,MAC 地址是永久性的,由网络设备制造商分配。 但是可以在 Linux 终端中使用一些技巧来更改它们,如上所示。

MAC 地址会被重用吗?

由于可用 MAC 地址的数量有限,制造商确实需要重复使用 MAC 地址。

MAC地址有多长?

MAC 地址包括 48 位或 6 个字节,其中每个字节由 2 个十六进制数字组成。 它们以两个一组显示,用冒号或连字符分隔。

在 Linux 中修改 MAC 地址

在 Linux 中更改 MAC 地址很简单,可以帮助提高您在使用 Internet 时的隐私和安全性。 虽然您需要使用终端永久修改 MAC 地址,但请注意,这些步骤可能会因您的 Linux 发行版而略有不同。 此外,在您的 Linux PC 上更改 MAC 地址时,请确保它不会与任何其他 MAC 地址冲突,否则两个地址都将与网络断开连接。 我们希望本文能帮助您永久更改 Linux PC 上的 MAC 地址。 如果您有任何疑问,请在下面的评论中告诉我们。