feross / SpoofMAC

:briefcase: Change your MAC address for debugging
https://feross.org/spoofmac/
3.01k stars 271 forks source link

Unable to spoof on Mac M1 Pro running OS version 12.4 and spoofMac version 2.1.1 #112

Open Fedora9768 opened 2 years ago

Fedora9768 commented 2 years ago

Error Message

sudo spoof-mac.py set xx:xx:xx:xx:xx en0
ifconfig: ioctl (SIOCAIFADDR): Invalid argument
Traceback (most recent call last):
  File "/opt/homebrew/bin/spoof-mac.py", line 138, in <module>
    sys.exit(main(arguments, root_or_admin))
  File "/opt/homebrew/bin/spoof-mac.py", line 118, in main
    set_interface_mac(device, target_mac, port)
  File "/opt/homebrew/Cellar/spoof-mac/2.1.1_4/libexec/lib/python3.10/site-packages/spoofmac/interface.py", line 540, in set_interface_mac
    spoofer.set_interface_mac(device, mac, port)
  File "/opt/homebrew/Cellar/spoof-mac/2.1.1_4/libexec/lib/python3.10/site-packages/spoofmac/interface.py", line 450, in set_interface_mac
    subprocess.check_call([
  File "/opt/homebrew/Cellar/python@3.10/3.10.4/Frameworks/Python.framework/Versions/3.10/lib/python3.10/subprocess.py", line 369, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['ifconfig', 'en0', 'ether', 'xx:xx:xx:xx:xx']' returned non-zero exit status 1.

Spoof Mac version

spoof-mac --version
2.1.1

Mac OS details

Version: 12.4

Similar issues (but the solution there does not work for me)

  1. MAC address spoofing not working in macOS 12 Monterey
  2. Odd response when trying to spoof en0 #60

spoof-mac installation details

I brewed it on my mac from https://formulae.brew.sh/formula/spoof-mac

Fedora9768 commented 2 years ago

This might be duplicate of issue https://github.com/feross/SpoofMAC/issues/104. I realized that the randomizing using spoof-mac still works!

sudo spoof-mac randomize en0

This is odd because your underlying method call is the same. https://github.com/feross/SpoofMAC/blob/master/scripts/spoof-mac.py#L118

justinTM commented 2 months ago

in my case, PATH resolved ifconfig to one installed by devbox (i.e., /Users/me/.local/share/devbox/global/default/.devbox/nix/profile/default/bin/ifconfig) instead of the necessary /sbin/ifconfig

removed the linked ifconfig and then which ifconfig returned /sbin/ifconfig and the sudo spoof-mac randomize en0 command worked!