macOS 在 15.5(可能更早)及之后 通过 SIP 限制了 MAC 地址的修改 :(
具体表现为:spoof-mac
工具失效;sudo ifconfig en0 ether [mac address]
也失效。
WARNING: The airport command line tool is deprecated and will be removed in a future release.
For diagnosing Wi-Fi related issues, use the Wireless Diagnostics app or wdutil command line tool.
ifconfig: ioctl (SIOCAIFADDR): Can't assign requested address
ref:
![]() |
1
LaureatePoet OP 补充一下:是 macOS 在 15.5(可能更早)及之后 通过 SIP 限制了"无线网卡 en0 MAC 地址"的修改,经过测试,有线网卡还是可以修改的。
|
![]() |
2
intoext 5 天前
@LaureatePoet 通过第三方软件也无法修改吗? 苹果这又是为了啥呢 溯源??
|
![]() |
3
cnachen 4 天前
貌似是 macOS 15 加入的 private Wi-Fi address 功能 break 了一些东西,
可以用下面的工具修改,macOS 26 实测有效。 https://github.com/acrogenesis/macchanger/ |
![]() |
4
LaureatePoet OP 感谢 @cnachen 提供的线索。已解决!
我在安装 `acrogenesis/macchanger` 的过程中 Terminal 提示我更新`xcode command line` 及 `Xcode` 到最新。在安装 macchanger 确实可以修改。后续我 测试了 spoof-mac 工具修改 MAC 地址也没有报错;于是我在想“是不是因为升级 macOS 系统之后,Xcode 没有更新导致的 spoof-mac 报错”,遂`brew uninstall macchanger` 重启,发现 spoof-mac 报错了。我将 spoof-mac 更新至最新版,成功! 总结:macOS 更新系统之后(特别是跨大版本更新),将 Xcode(include `Xcode Command Line Tools`)更新至最新版,使用 spoof-mac 或者 macchanger 最新版即可修改无线网卡 MAC 地址。 *本次测试 spoof-mac 2.1.1, macchanger 1.6.1, macOS 15.7.1* |
![]() |
5
LaureatePoet OP 补充一下:spoof-mac 是无效。还是得用#3 的
https://github.com/acrogenesis/macchanger 有效 |