无法更改El Capitan中的MAC地址


8

我阅读了此问题的答案,并尝试更改Mac的en0 MAC地址。当我使用时ifconfing,它报告新设置的MAC地址,但是在“网络设置”中,它仍然报告旧的MAC地址。

使用ifconfig在此处输入图片说明

在Wi-Fi下拉列表中: 在此处输入图片说明

我尝试打开和关闭Wi-Fi(使用sudo ifconfig en0 up/ down),但还是一样。我是在做错什么,还是El Capitan引入的系统完整性保护的一部分?

我认为我的MAC地址没有改变的原因是我通过UniFi AP使用了带宽限制,但是更改我的MAC地址似乎并没有违反这些限制。


1
这不太可能与系统完整性保护(SIP)有关,因为这只会影响更改/System和其他文件的功能。SIP不会影响计算机范围内的设置,例如网络首选项和选项。
Graham Miln

Answers:


5

它与SIP无关,因为事实是您无法以这种方式更改NIC的实际物理MAC地址,因为它是在EPROM中进行编码的。您可以通过这种方式欺骗 MAC地址,但是NIC的实际物理MAC地址将始终是其已编程的地址,直到在EPROM中对其进行重新编程为止。我将我的MAC更改为您的报告,而ifconfig显示了该欺骗地址,实际的物理MAC地址仍保留为最初编程的状态。Wireshark正在报告欺骗的地址,但这并没有阻止硬件验证应用程序从其实际地址中轮询实际物理硬件以查看其真实地址。


1
是的,谢谢。“网络”下拉列表中显示的MAC地址显示的是物理硬编码的地址,而不是欺骗的地址。(实际上,我发现UniFi AP的配置有问题,并且也对此进行了修复!)
Behdad 2015年

1
我使用SpoofMac。效果很好。
jamescampbell 2015年

6

我了解您正在寻找实际更改您的MAC地址的方法,但是如果您想欺骗它以另一个MAC地址的形式出现,我建议您这样做:

使用SpoofMac。它只是工作。这是获取和使用它的方法:

$ git clone https://github.com/feross/SpoofMAC.git
$ cd SpoofMAC
$ python setup.py install
$ cd scripts
$ python spoof-mac.py list
- "Ethernet" on device "en0" with MAC address 3C:07:54:55:71:41
- "FireWire" on device "fw0" with MAC address A4:B1:97:FF:FE:9E
- "Wi-Fi" on device "en1" with MAC address 68:A8:6D:1B:FE:E4 currently set to 00:E0:B8:1B:FE:E4
$ python spoof-mac.py set 00:00:00:00:00 en1 # or whatever mac address you want

希望对任何尝试更改其感知的Mac地址而失败的人有所帮助。


1
对我来说很好。谢谢!唯一的区别是需要使用set命令进行更改:用法:spoof-mac list [--wifi] spoof-mac randomize [--local] <设备> ... spoof-mac set <mac> <devices> ... spoof-mac reset <设备> ... spoof-mac normalize <mac> spoof-mac -h | --help spoof-mac --version编辑此更改的答案。
布鲁诺·沃尔帕托

@BrunoCandidoVolpatodaCunha太好了!很高兴它起作用。
jamescampbell 2016年

7
无需弄乱系统,只需运行brew install spoof-mac,然后就可以了sudo spoof-mac randomize en1
dhchdhd

@Barry很高兴看到它是自制的。干杯
jamescampbell '16
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.