8

I read the answer to this question and tried to change my Mac's en0 MAC address. When I use ifconfing, it reports the newly set MAC address, but in Network Settings, it still reports the old one.

Using ifconfig: enter image description here

In Wi-Fi dropdown: enter image description here

I tried turning Wi-Fi on and off (using sudo ifconfig en0 up/down), still the same. Am I doing something wrong or is this a part of System Integrity Protection introduced in El Capitan?

The reason I think my MAC address hasn't changed, is that I use bandwidth restrictions using UniFi AP, but changing my MAC address doesn't seem to contravene those restrictions.

  • 1
    This is unlikely to be related to System Integrity Protection (SIP), as this only affects the ability to change /System and other files. Computer wide settings such as networking preferences and options are not affected by SIP. – Graham Miln Oct 11 '15 at 13:27
5

It has nothing to do with SIP because the fact is you cannot change the actual physical MAC Address of a NIC in that manner as it is encoded in it's EPROM. You can spoof a MAC Address in that manner however the actual physical MAC Address of a NIC will always be that of which it was programmed until reprogramed in the EPROM. I changed my MAC to what yours reports, while ifconfig shows the spoofed address the actual physical MAC Address remains as it was originally programmed. Wireshark is reporting the spoofed address but that doesn't stop a hardware verification app that polling the actual physical hardware for its address from seeing the real address.

  • 1
    Yes, thank you. MAC address shown in Networking dropdown shows the physically hardcoded address, not the spoofed one. (Actually I found a buggy configuration with my UniFi AP and fixed that too!) – Behdad Oct 12 '15 at 8:42
  • 1
    I use SpoofMac. Works great. – jamescampbell Nov 15 '15 at 5:58
6

I understand you are looking to actually change your MAC address, but in case you want to spoof it to appear as another MAC address, this is what I recommend:

Use SpoofMac. It just works. Here is how to get it and use it:

$ 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

Hope that helps anyone trying to change their perceived mac address and failing.

  • 1
    Works fine for me. Thank you! The only difference is that that needs to use the set command to change: Usage: spoof-mac list [--wifi] spoof-mac randomize [--local] <devices>... spoof-mac set <mac> <devices>... spoof-mac reset <devices>... spoof-mac normalize <mac> spoof-mac -h | --help spoof-mac --version Edited the answer with this change. – Bruno Volpato Mar 5 '16 at 15:09
  • @BrunoCandidoVolpatodaCunha great! Glad it worked. – jamescampbell Mar 5 '16 at 15:15
  • 7
    No need to clutter up your system, just run brew install spoof-mac and then sudo spoof-mac randomize en1 – dhchdhd Apr 4 '16 at 16:05
  • @Barry nice glad to see it is homebrew. Cheers – jamescampbell Apr 4 '16 at 16:15

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .