MAC address spoofing not working

I'm trying to spoof the MAC address of a MBP 15" 2018 running High Sierra 10.13.6 in order to validate network filtering but I'm unable to change it using ifconfig.


"sudo ifconfig en0 ether <new mac address>"


Does anyone knows if there is a hardware/software limitation to do it on the new MacBooks?

Post not yet marked as solved Up vote post of rene08 Down vote post of rene08
22k views

Replies

Did Apple respond to this bug yet?

From Apple on May 29, 2019 at 3:32 PM:

This feedback was created from radar ID 47137510



Having this issue with a M2 MacBook Pro 14" 2023, running macOS 13.2 and 13.3 Ventura.

Or.. "had"..

It seems to be driver related. Check out this post: https://khronokernel.github.io/macos/2021/11/22/PCIE-ETHERNET.html

Apple prefers PCI adapters for driver support, so the full functionality should be supported there. The ifconfig ether command actually works using the Apple TB display as well as the TB3-TB2 + TB1-GbE adapters - at least in my testing.

When using a USB ethernet adapter, either a more generic ECM driver or a more native NCM driver class is used (check in System Information and compare with the linked article).

  1. When I attach a USB ethernet adapter that uses an ECM driver, then the ifconfig ether command fails.
  2. When the NCM driver is used, the ifconfig ether command is accepted but does not actually change the MAC address.
  3. When using a PCI ethernet adapter with supported driver, then the ifconfig ether command works as expected.

To note: a TB3 or TB4 dock will not necessarily use a PCI ethernet chipset, and may just use an USB one.

As this seems to be related to drivers, it will probably disappear, show up again and disappear once more with future OS releases. Especially with major transitions like arm vs x86. The safest way to go is to have some Apple HW lying around to test "native" drivers (TB1 to GbE adapter, even if a bit outdated), as these will probably be ported first.

Nearly 20,000 views on this question, and probably a fair number of votes distributed across the many accidental and forced duplicates..

Recent Reddit threads suggest it's a driver/chipset issue, and Apple is choosing to not document or not communicate anything (that's never helped, but there's always a first time).

This is using the 10G hardware-Ethernet port found in the Mac Mini M2. I specifically bought this for networking testing, but I guess I still need my Raspberry Pi :-(

@somewhereInTime oh wow, I would've expected the built-in hardware of the Mac Mini to actually work with the shipped OS.

Thanks for sharing!

I specifically bought a OWC TB3 to 10GbE adapter, as it uses the Aquantia AQC107 chipset.

According to the previously shared link to the guide on Github:

With the above 5 drivers, currently Apple only uses 2 of them in their products:

Aquantia is used on all Macs with 10Gbe
ie. 2017 iMac Pro, 2019 Mac Pro, 2018 Mac mini
Broadcom is used on all 2011+ Macs with 1Gbe
ie. 2011-2020 iMacs, 2010-2020 Mac minis, 2013 Mac Pro

However - no luck. Offloading seems to work, the used driver is Driver: com.apple.driver.AppleEthernetAquantiaAqtion. But using ifconfig ether still fails silently :(

"Upgrading" to the latest macOS Sonoma Developer beta seems to have solved my other issue regarding WiFi 6E (6GHz), it now detects my AP correctly and actually connects. But regarding wired network adapters I didn't see any changes.

As this is my daily driver I will "downgrade" to macOS Ventura again, was having some trouble with specific programs not running anymore.

Apple needs to acknowledge this issue.

  1. If they CHOOSE to remove ifconfig support, then they should stand behind it and not mislead customers by claiming it's "unsupported" 3rd-party adapters.
  2. more likely it's "only" a driver issue though, as the Apple TB1 GbE adapter still supports ifconfig ether (I do need to admit that I did not test that with macOS Sonoma though). It uses a different driver, and likely the Aquantia driver is not feature-complete on Apple Silicon machines.

Maybe it's also both - officially they did not want to break ifconfig when porting drivers, but some head of department may have made some decision that "MAC Spoofing is nefarious" and only used by internet buccaneers.