A MAC address is a unique identifier assigned to your network card, and some networks implement MAC address filtering as a method of security. Spoofing a MAC address can be desired for multiple reasons, and it is very easy to spoof your MAC address in Mac OS X 10.4, 10.5, 10.6, 10.7, OS X 10.8, and OS X 10.9. For the purpose of this article, we are going to assume you want to spoof your Mac’s wireless MAC address, meaning your wi-fi card. Without further ado, here’s a three step process on how to do just that…

Retrieving your current MAC address

First, you’re going to want your current wireless MAC address so you can set it back without rebooting. Launch the Terminal app and type the following command:

ifconfig en1 | grep ether

You’ll know see something like:

ether 00:12:cb:c6:24:e2

And the values after ‘ether’ makeup your current MAC address. Write this down somewhere so you don’t forget it. If you do, it’s not the end of the world, you’ll just have to reboot to reset it from a change.

Note, it’s possible that your Mac has the wi-fi card on en0, so you may need to adjust the string accordingly.

Spoofing a MAC address

To spoof your MAC address, you simply set that value returned from ifconfig to another hex value in the format of aa:bb:cc:dd:ee:ff. You can generate a random one if need be.

For this example, we will set our wireless MAC address to 00:e2:e3:e4:e5:e6 by issuing the following command:

sudo ifconfig en1 ether 00:e2:e3:e4:e5:e6

The sudo command will require that you enter your root password to make the change.

Again, some Macs use en0, so if you run into any issues you can try that.

Verifying the Spoofed MAC address worked

If you want to check that the spoof worked, type the same command as earlier:

ifconfig en1 | grep ether

Now you will see:

ether 00:e2:e3:e4:e5:e6

Meaning your MAC address is now the value you set it to. If you want to further verify the spoof, simply login to your wireless router and look at the ‘available devices’ (or attached devices) list, and your spoofed MAC address will be part of that list.

If you want to set your MAC address back to its real value, simply issue the above ifconfig commands with the MAC address that you retrieved in step 1. You can also reboot your Mac.

Enjoy!

Note: Reader Dee Brown points out the following, which may help with some users having difficulties: “running 10.5.6 you need to do the trick to disassociate from the network. ****DO NOT TURN AIRPORT OFF****. What you will have to do is click your airport and click join network and enter some bogus name as the network ssid. Then while it’s trying to connect click cancel.At this point you may spoof using the sudo ifconfig en1 ether command”

other readers point out that Dee Brown’s trick works in 10.5.7 and above too. Thanks Dee!

Update: If you’re still having problems with MAC address spoofing in Leopard or Snow Leopard, the above method still works but try disassociating with any wireless network BUT keep your wireless Airport on (as mentioned above) – an easy way to do this is to type the following in the command line:

airport -z

Note that you have to have the ‘airport’ command setup to work for users, you can do that by copy and pasting this command into the Mac Terminal:

sudo ln -s /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport /usr/sbin/airport

Once disassociated from the network you should be able to spoof your MAC address as usual

Updated 2/28/2012: For Mac OS X Lion, the Airport interface is now called “Wi-Fi” and thus the command to spoof a MAC address in OS X 10.7, OS X 10.8 Mountain Lion, and OS X Mavericks, is:

sudo ifconfig en0 Wi-Fi aa:bb:cc:dd:ee:ff

For some computers Wi-Fi may be the interface but you spoof by specifying “ether” instead.

sudo ifconfig en0 ether aa:bb:cc:dd:ee:ff

Remember to disassociate from any network beforehand with “airport -z” while keeping the card active. If you continue to have problems or receive a “bad value” message, try turning the wireless NIC off and on again using the following:

sudo ifconfig en0 down

Now re-enable the NIC:

sudo ifconfig en0 up

Then proceed to spoof the MAC address:

sudo ifconfig en0 ether aa:bb:cc:dd:ee:ff

Reenabling the network card may cause it to join the last available wireless network.

The MAC address should stay spoofed until reboot, but you can always check what your MAC address is in the GUI or command line with networksetup -listallhardwareports if you’re curious about the current status.