使用 macchanger 更改你的 MAC 地址

Beginner
立即练习

引言

媒体访问控制(MAC)地址是分配给网络接口控制器(NIC)的唯一标识符,用作网络段内通信的网络地址。虽然此地址通常是永久性的且硬编码在硬件中,但它可以在软件中更改或“欺骗”。

更改 MAC 地址可能出于多种原因,例如通过防止跟踪来增强隐私,绕过基于 MAC 地址的网络访问控制,或者用于网络测试和故障排除。

在本实验中,你将使用两个常用的 Linux 命令行工具:ifconfig 用于管理网络接口,macchanger 用于查看和修改它们的 MAC 地址。你将学习如何查找网络接口,查看其当前 MAC 地址,禁用接口,分配一个新的随机 MAC 地址,重新启用接口,最后验证更改是否成功。

查看接口的当前 MAC 地址

在此步骤中,你将识别你的网络接口并查看其当前、原始的 MAC 地址。我们将使用 ifconfig 命令,该命令用于配置和显示网络接口的信息。

首先,打开终端。我们需要找到要修改的网络接口的名称。在此实验环境中,主网络接口通常命名为 eth0

运行 ifconfig 命令,后跟接口名称,以查看其详细信息。

ifconfig eth0

你将看到关于 eth0 接口的多个详细信息。查找包含 ether 的行。其旁边的值就是你接口的当前 MAC 地址。

示例输出:

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.0.2  netmask 255.255.0.0  broadcast 172.17.255.255
        ether 02:42:ac:11:00:02  txqueuelen 0  (Ethernet)
        RX packets 24  bytes 2480 (2.4 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 8  bytes 648 (648.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

记下 ether 地址。这是我们将要在后续步骤中更改的永久性、硬件分配的 MAC 地址。

使用 ifconfig 禁用无线接口

在此步骤中,你将学习如何停用网络接口。在更改 MAC 地址之前,必须将网络接口下线或“禁用”。在接口处于活动状态并在网络上通信时,你无法修改其硬件地址。

我们将再次使用 ifconfig 命令,但这次会加上 down 参数。此操作需要管理员权限,因此你必须使用 sudo

在终端中执行以下命令:

sudo ifconfig eth0 down

如果命令成功执行,将不会产生任何输出。它只是停用了 eth0 接口,使其准备好在下一步更改 MAC 地址。

使用 macchanger -r 分配随机 MAC 地址

在此步骤中,在接口已禁用的情况下,你现在可以使用 macchanger 工具分配新的 MAC 地址。macchanger 有多个选项,但在此实验中,我们将使用 -r(或 --random)选项来分配一个完全随机的、与供应商无关的 MAC 地址。

此操作也需要管理员权限,因此你必须使用 sudo

运行以下命令来更改 eth0 的 MAC 地址:

sudo macchanger -r eth0

该命令将输出操作结果,显示原始的、永久的硬件 MAC 地址和新的、伪造的 MAC 地址。

示例输出:

Current MAC:   02:42:ac:11:00:02 (unknown)
Permanent MAC: 02:42:ac:11:00:02 (unknown)
New MAC:       3e:81:e3:82:b6:f1 (unknown)

如你所见,macchanger 已为 eth0 接口分配了一个新的 MAC 地址。但是,该接口仍然处于禁用状态。

使用 ifconfig 重新启用无线接口

在此步骤中,你将重新激活网络接口。成功更改 MAC 地址后,你需要将接口重新“启用”,以便它能够连接到网络并再次开始发送和接收数据。

我们将使用带有 up 参数的 ifconfig 命令。此操作也需要 sudo 权限。

在终端中执行以下命令:

sudo ifconfig eth0 up

与禁用接口类似,此命令在成功执行时也不会产生任何输出。它会重新激活 eth0 接口,该接口现在将使用你在上一步中分配的新 MAC 地址。

验证新的伪造 MAC 地址

在最后一步中,你将验证 MAC 地址是否已成功更改,并且接口是否正在使用新地址运行。这是一个重要的确认步骤,以确保整个过程按预期工作。

为此,我们将像在第一步中一样,再次运行 ifconfig eth0 命令。

ifconfig eth0

现在,检查输出并查看 ether 值。它应该与你在第 3 步的 macchanger 命令输出中的“New MAC”地址匹配。

示例输出:

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.0.2  netmask 255.255.0.0  broadcast 172.17.255.255
        ether 3e:81:e3:82:b6:f1  txqueuelen 0  (Ethernet)
        RX packets 24  bytes 2480 (2.4 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 8  bytes 648 (648.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

通过将这个新的 ether 地址与你在第 1 步中记录的地址进行比较,你可以确认你的 MAC 地址已被成功伪造。

总结

恭喜!你已成功完成了本次使用 macchanger 更改 MAC 地址的实验。

在此实验中,你学习了一项在 Linux 上进行网络和安全方面的基础技能。你练习了使用 ifconfig 命令来管理网络接口,以及使用 macchanger 工具来修改其硬件地址。

你执行的关键步骤包括:

  1. 使用 ifconfig eth0 查看网络接口的初始状态。
  2. 使用 sudo ifconfig eth0 down 禁用接口。
  3. 使用 sudo macchanger -r eth0 分配一个新的随机 MAC 地址。
  4. 使用 sudo ifconfig eth0 up 重新激活接口。
  5. 验证最终状态以确认更改。

macchanger 工具还有其他有用的选项,例如设置特定的 MAC 地址(-m XX:XX:XX:XX:XX:XX)或将接口重置为其原始的、永久的 MAC 地址(-p)。你可以自行探索这些命令。