回答:
考えられる問題の1つは、ランダムに生成されたMACが半分の時間で失敗することです。MACアドレスの最初のバイトは偶数である必要があります(たとえば、0、2、4、6、8、A、C、Eで終わる)。
したがって、たとえば、3b:92:22:cf:55:7eは「3b」が奇数であるため機能しません。詳細については、WikipediaのMACアドレスの記事を参照してください(偶数=ユニキャスト、奇数=マルチキャスト)。
この問題を回避するには、ランダムMAC sedコマンドをわずかに編集して、2番目のニブルを強制的に0にします。
openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/./0/2; s/.$//'
これをhrbrmstrの答えと組み合わせることでうまくいきました:
sudo /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport --disassociate
sudo ifconfig en0 ether $(openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/./0/2; s/.$//')
networksetup -detectnewhardware
sudo /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -z; sudo ifconfig en0 ether a0$(openssl rand -hex 5 | sed 's/\(..\)/:\1/g'); networksetup -detectnewhardware
それをほんの少し短くするための1つのこと: 少しランダムになります。
MACアドレスを変更する前に、デバイスの関連付けを解除する必要があります。の場合en0
、次のようになります。
sudo /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -z
sudo ifconfig en0 ether d4:33:a3:ed:f2:12
networksetup -detectnewhardware
Ferrosは、このhttps://github.com/feross/spoofを行うためのスイートノードツールを作成しました
彼はPythonバージョンも持っていますhttps://github.com/feross/SpoofMAC
ifconfig
...種類行き過ぎのようだ
ifconfig
クロスプラットフォームではありません。その「ノードオーバーキル」は、Windows、Linux、およびmacOSで機能します。プラス$ spoof reset
は、2語で反対のことを行います。
このコマンドは私にとってはうまく機能します。ランダムスクリプトは、この答えから取得しています:MadHatterのhttps://serverfault.com/a/299564。
sudo ifconfig en0 ether $(perl -e 'for ($i=0;$i<5;$i++){@m[$i]=int(rand(256));} printf "02:%X:%X:%X:%X:%X\n",@m;') && sudo ifconfig en0 down && sudo ifconfig en0 up
MACアドレスを変更するための私の貢献は次のとおりです:https : //gist.github.com/vinyll/b511159cce2d25edafe78403749088ca
#/bin/sh
# Instructions:
# 1. Copy this script locally and run the following `chmod +x mac-address-spoofer.sh`
# 2. Later, run the following: `./mac-address.spoofer.sh` and see your MAC address changing.
echo "origin MAC address: " `sudo ifconfig en0 ether | grep ether`
sudo ifconfig en0 ether `openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/.$//'`
echo "new MAC address: " `sudo ifconfig en0 ether | grep ether`
これは動作します!
手順:
Apple TVのMACアドレスを取得して書き留めます。ネットワーク設定にあります。
MacBook(Yosemite OSバージョン)のMACアドレスを取得します。端末ウィンドウに「ifconfig」と入力します。「En0」セクションにあります。
以下を切り取り/貼り付けて(XをApple TVのMACアドレスに置き換えて)ターミナルウィンドウに貼り付けます。
sudo /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -z
sudo ifconfig en0 ether XX:XX:XX:XX:XX:XX
networksetup -detectnewhardware
プロンプトが表示されたらパスワードを入力し、必要に応じて手順3を繰り返します**
MAC(Apple TVではない)でホテルのワイヤレスに再接続し、サービス条件を受け入れます。
以下を端末ウィンドウに切り取り/貼り付けします(YをMAC OSX MACアドレスに置き換えます)
sudo /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -z
sudo ifconfig en0 ether YY:YY:YY:YY:YY:YY
networksetup -detectnewhardware
sudo ifconfig en0 ether `openssl rand -hex 5|perl -nE '$s.=join":",/../g}{say"02:$s"'`&& sudo ifconfig en0 down && sudo ifconfig en0 up
私ははるかに賢いです:)
pip install SpoofMAC
)を試しましたか?これは、私にとってヨセミテでまだ機能します。