#!/bin/bash if [ "$#" -ne 1 ]; then echo "Network device must be specified" exit 1 fi DEVICE="$1" OLD_MAC=$(ifconfig | grep "$DEVICE:" -A3 | grep ether | head -1 | cut -d ' ' -f 2) NEW_MAC=$(openssl rand -hex 6 | sed 's/\(..\)/\1:/g;s/.$//') if [ -z "$OLD_MAC" ]; then echo "Invalid network device specified" exit 1 fi CONFIG_FILE="$HOME/.mac_address_$DEVICE" if [ ! -f "$CONFIG_FILE" ]; then echo "$OLD_MAC" > "$CONFIG_FILE" ORIGINAL_MAC="$OLD_MAC" else ORIGINAL_MAC=$(cat "$CONFIG_FILE") fi if [ "$OLD_MAC" == "$ORIGINAL_MAC" ]; then echo Setting new mac address: "$NEW_MAC" sudo ifconfig $DEVICE ether "$NEW_MAC" else echo Resetting mac to original: "$ORIGINAL_MAC" sudo ifconfig $DEVICE ether "$ORIGINAL_MAC" fi