macOS 在 15.5(可能更早)及之后 通过 SIP 限制了 MAC 地址的修改 :(

2025 年 10 月 12 日
 LaureatePoet

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:

2507 次点击
所在节点    macOS
5 条回复
LaureatePoet
2025 年 10 月 12 日
补充一下:是 macOS 在 15.5(可能更早)及之后 通过 SIP 限制了"无线网卡 en0 MAC 地址"的修改,经过测试,有线网卡还是可以修改的。
intoext
2025 年 10 月 12 日
@LaureatePoet 通过第三方软件也无法修改吗? 苹果这又是为了啥呢 溯源??
cnachen
2025 年 10 月 13 日
貌似是 macOS 15 加入的 private Wi-Fi address 功能 break 了一些东西,
可以用下面的工具修改,macOS 26 实测有效。
https://github.com/acrogenesis/macchanger/
LaureatePoet
2025 年 10 月 13 日
感谢 @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*
LaureatePoet
2025 年 10 月 15 日
补充一下:spoof-mac 是无效。还是得用#3 的
https://github.com/acrogenesis/macchanger 有效

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1164654

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX