2024年4月28日追記
最新のMacOSだとMacアドレスを変更することはできなくなった
Apple、macOS 14.4 Sonomaで「airport」コマンドを非推奨とし、将来のリリースで削除。
thr3a-m2:~ root# cat /var/root/change.sh
status=1
while [ $status -ne 0 ]
do
/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -z && sleep 1 && openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/.$//' | xargs ifconfig en0 ether && networksetup -detectnewhardware
status=$?
if [ $status -ne 0 ]; then
echo "retry"
fi
done
echo "done"
無料WIFIとかはクッキーではなくMACアドレスで判別してるケースが多い
ってことでMac OSでMACアドレスを変更するメモ(同じマックでややこしい)
変更前の状態を確認
理由はもちろん元に戻すため
$ ifconfig en0
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 46:e2:05:70:81:1f
nd6 options=1<PERFORMNUD>
media: autoselect (<unknown type>)
status: inactive
生成
ランダムなMACアドレスを生成 ベンダー番号が元のと合ってないとか言わないこと
$ openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/.$//'
a6:e6:a5:ed:5d:1d
変更
生成したダミーのMACアドレスにすり替える
# /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -z
# ifconfig en0 ether a6:e6:a5:ed:5d:1d
$ networksetup -detectnewhardware
確認
$ ifconfig en0
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether a6:e6:a5:ed:5d:1d
inet6 fe80::44e2:5ff:fe70:811f%en0 prefixlen 64 scopeid 0x4
inet 10.4.10.171 netmask 0xfffe0000 broadcast 10.5.255.255
nd6 options=1<PERFORMNUD>
media: autoselect
status: active
1行でやりたい人向け
openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/.$//' | xargs ifconfig en0 ether && networksetup -detectnewhardware
Monterey以降の場合
先に以下のコマンドを実行しておく
/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -z
参考URL