Handy script to change your MAC address. Useful for testing. Or bypassing time-limited WiFi’s in coffee shops.
Changing your MAC address is one command: sudo ifconfig "$INTERFACE" ether "$NEW_MAC"
.
But you need to remember the MAC address format, come up with a new address, and remember the old address if you want to restore it (without rebooting your machine).
The following script offers a simpler interface:
mac-incr # increase the MAC address mac-incr -d # decrease the MAC address
The complete code is below or can be downloaded from this github gist.
#!/usr/bin/env bash set -e INTERFACE="en0" function mac_add_delta() { local mac="0x${1//\:/}" local delta="$2" local new_mac="$(printf "%x" $((mac + delta)))" # no 0x echo "${new_mac:0:2}:${new_mac:2:2}:${new_mac:4:2}:${new_mac:6:2}:${new_mac:8:2}:${new_mac:10:2}" } if [[ $1 == "-d" ]]; then DELTA="-1" else DELTA="+1" fi MAC=$(ifconfig "$INTERFACE" | grep ether | tr -d ' \t' | cut -c 6-42) NEW_MAC=$(mac_add_delta "$MAC" "$DELTA") echo "$INTERFACE old mac: $MAC" echo "$INTERFACE new mac: $NEW_MAC" echo "Applying setting with sudo" sudo ifconfig "$INTERFACE" ether "$NEW_MAC"