各系统修改 MAC 地址的方法与风险

Wi-Fi 隐私

MAC 地址虽然出厂时烧入网卡,但驱动接受软件设定的值,因此在所有主流系统上都可以修改。常见的正当需求包括:替换故障设备时沿用原地址以免打乱 DHCP 绑定,测试网络准入策略,或规避把 MAC 当唯一凭据的糟糕设计。

修改前必须知道的三件事

用本地管理地址。 把第一字节的次低位置 1,也就是让第二个十六进制字符落在 2、6、A、E 里。这样你的地址不会与任何厂商的全局唯一地址冲突,也不会污染他人的资产识别。原理见读懂 MAC 地址第一字节。

不要抄一个在线设备的地址。 同一广播域内两个相同 MAC 会造成地址冲突,交换机表项反复翻转,双方都会间歇性断网。

改完可能需要重新获取 IP。 DHCP 按 MAC 记租约,换了地址就是新客户端,细节见DHCP 如何用 MAC 分配 IP。

Linux

临时修改,重启后失效:

sudo ip link set dev eth0 down
sudo ip link set dev eth0 address 02:1a:2b:3c:4d:5e
sudo ip link set dev eth0 up

用 NetworkManager 做持久化配置更可靠:

nmcli connection modify "有线连接 1" 802-3-ethernet.cloned-mac-address 02:1a:2b:3c:4d:5e
nmcli connection up "有线连接 1"

NetworkManager 还支持 random 和 stable 两个关键字,分别对应每次连接随机和按网络稳定。想恢复出厂地址,把该属性设为 permanent。

查看真实的硬件地址:

ethtool -P eth0

macOS

sudo ifconfig en0 ether 02:1a:2b:3c:4d:5e

无线接口通常需要先断开当前网络才能生效:

sudo /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -z
sudo ifconfig en0 ether 02:1a:2b:3c:4d:5e

macOS 的修改在重启后一律失效,没有官方的持久化方式。近几个大版本对无线网卡的限制逐步加强,部分机型可能直接失败。

Windows

图形界面路径最稳妥:设备管理器,找到网卡,属性,高级选项卡,查找"网络地址"或"Network Address"条目,填入不带分隔符的 12 位十六进制值。

命令行方式:

Get-NetAdapter | Select-Object Name, MacAddress, InterfaceDescription
Set-NetAdapterAdvancedProperty -Name "以太网" -RegistryKeyword "NetworkAddress" -RegistryValue "021A2B3C4D5E"
Restart-NetAdapter -Name "以太网"

是否生效取决于驱动。部分网卡驱动不暴露 NetworkAddress 属性,此时任何方法都改不了。Intel 的有线网卡通常支持,一些廉价 USB 网卡不支持。

风险与合规

违反使用条款。 用改 MAC 的方式绕过公共 WiFi 的时长限制或计费,通常明确违反服务条款,某些司法辖区可能构成违法。

破坏网络运维。 在企业网络里随意改 MAC 会干扰资产盘点、准入控制和故障排查,也可能触发端口安全把端口关掉。

不能提供匿名。 改 MAC 只影响本地广播域,不影响你的公网 IP、浏览器指纹、账号登录状态。把它当隐私手段是误解。真正的移动设备隐私机制是系统内置的地址随机化,它比手工修改更完善,也不会打乱网络运维。

如果只是想确认某个地址属于哪家厂商,不需要修改任何东西,在查询页输入即可。

相关文章
关于作者 · Kai

7n4.cn 网络运维方向作者,关注交换机、AP 与无线控制器的现场排查。文章按可复现的检查顺序展开,优先写清楚先看哪里、下一步怎么验证。

← 返回博客列表