改 mac 地址很简单就是用 ifconfig 命令,root 权限执行。 但问题是 ifconfig 在 wifi 连接的情况下是直接返回执行失败的(大概资源被当前网络连接占用),需要先将当前网络断开,但是这一步在 macOS 15 上没有对应的 命令行,14 以前的版本可以用 airport -z 实现,但是 airport 命令已经被苹果废弃了...
大家有什么好办法么?
1
jmtsai 8 天前
sudo /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -z
sudo ifconfig en0 ether [mac address] macos 14 和 15 都能用。目前 15.0.1 也运行正常 |
2
eairjhioaegnh 8 天前
这个项目有 Wi-Fi 相关操作: https://github.com/digital-pers0n/Aerodrome/
我提取了断开操作,我自己测试是可以的: //main.m #import <Foundation/Foundation.h> struct Apple80211; typedef struct Apple80211 *Apple80211Ref; int Apple80211Disassociate(Apple80211Ref wref); int Apple80211Open(Apple80211Ref *handle); int Apple80211Close(Apple80211Ref handle); int Apple80211BindToInterface(Apple80211Ref handle, CFStringRef interface); int main() { int error; Apple80211Ref ref; error = Apple80211Open(&ref); Apple80211BindToInterface(ref, CFSTR("en0")); if (error == 0) { Apple80211Disassociate(ref); } else { printf("%d\n", error); } Apple80211Close(ref); return 0; } // clang main.m -o main -O3 -F /System/Library/PrivateFrameworks -framework Apple80211 -framework Foundation && ./main |
3
netdcy 7 天前
之前能在重启后保持修改的 mac 吗?
|