
OS X Mountain LionとMavericksでMACアドレスを変更(偽装)する
MACアドレスは、ネットワークインターフェースに割り当てられる一意の識別番号です。NICやWi-Fiカードなどの物理ハードウェアや仮想マシンに割り当てられます。場合によっては、MACアドレスを別のIDに変更する必要があることがあります。
最近、この件に関していくつか質問を受けています。これは、Mac OS X では、これらのアドレスを変更する (スプーフィングと呼ばれることもあります) プロセスがバージョンごとに若干変更されているためです。この点を念頭に、最新バージョンの OS X 10.7、10.8 Mountain Lion、10.9 OS X Mavericks、および OS X 10.10 Yosemite で MAC アドレスを変更する方法を説明します。
開始するには、/Applications/Utilities/ にあるターミナルを起動します。
新しいMACアドレスを取得する
まず最初に、目的のMACアドレスを取得します。すでにMACアドレスが分かっている場合はそれを使用してください。特定のアドレスを偽装する必要がなく、ランダムなアドレスが必要な場合は、opensslで以下のコマンドを使ってMACアドレスを生成します。
openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/.$//'
MACアドレスは常にxx:xx:xx:xx:xx:xxという形式です。動作させるには、この形式に準拠している必要があります。このチュートリアルでは、ランダムに生成されたアドレス「d4:33:a3:ed:f2:12」を使用します。
MACアドレスの変更
まだターミナルを開いていない場合は、今すぐ開いてください。ここではインターフェースen0を使用しますが、お使いの場合はen1でも構いません(下部の注記をご覧ください)。MACアドレスを変更するコマンドは以下のとおりです。
sudo ifconfig en0 ether xx:xx:xx:xx:xx:xx
「xx:xx:xx:xx:xx:xx」を目的の MAC アドレスに置き換えます。この例では次のようになります。
sudo ifconfig en0 ether d4:33:a3:ed:f2:12
リターンキーを押して管理者パスワードを入力し、新しいアドレスを設定します。変更されたことを確認するには、以下を入力してください。
ifconfig en0 |grep ether
ネットワーク設定でも見つけることができますが、GUI では MAC の変更が常にすぐに報告されるわけではなく、ネットワーク接続が切り替わるまで待機します。
注意事項とトラブルシューティング
- どのインターフェース(en0、en1など)を使用すればよいかわからない場合は、「ifconfig」と入力して確認してください。イーサネットポートのないMacBook Airでは、通常en0がWi-Fiインターフェースですが、MacBook、iMac、Mac Mini、MacBook Pro、その他イーサネットポートのあるMacでは、Wi-Fiインターフェースとしてen1が使用される可能性があります。
- 始める前に、デフォルトのハードウェアMACアドレスをメモしておくといいでしょう。
- 一部の Mac では代わりに次のコマンドを使用します。
sudo ifconfig en1 Wi-Fi xx:xx:xx:xx:xx:xx
OS X Yosemite、Lion、Mountain Lion、Mavericksで、後に「Airport」をWi-Fiに改名したため、名称が変更されました。
- 管理者アカウントにアクセスするか、ルートユーザーを有効にする必要があります
- 新しいMACアドレスを登録する前に、接続しているWi-Fiネットワークから切断する必要があります。
- これは、OS X 10.7、OS X 10.8、OS X 10.9、OS X 10.10を実行しているMacBook AirとMacBook Proでテストされています。古いバージョンのOS Xはこちらから入手できます。
このビデオで示されているように、プロセス全体は 15 秒程度しかかかりません。