#!/bin/sh -e dev="wlan0" prefix="$(ip link show "$dev" | awk '/link\/ether/ {print substr($2, 0, 8)}')" suffix="$(hexdump -n3 -e'3/1 "%02x:""\n"' /dev/urandom | cut -d: -f1-3)" address="$prefix:$suffix" ip link set "$dev" down ip link set "$dev" address "$address" ip link set "$dev" up