WiFiがオンになるたびにMACアドレスをランダム化するにはどうすればよいですか?


8

Macアドレスによって人々の動きを追跡するシステムの普及が進んだことを考えると、私は私を不明瞭にしたいと思います。

私は、busyboxがインストールされたroot化されたGalaxy Note 2を持っています。MACアドレスを次のように変更できます。

busybox ifconfig wlan0 hw ether 11:22:33:44:55:66

ただし、ワイヤレスを無効にしてから再度有効にするか、電話を再起動すると、忘れられます。ワイヤレスがオンになるたびに実行されるようにスクリプトを配置できる場所はありますか?


試してみる
mbaljeetsingh 2014年

回答:


6

XDAで発表された ChainfireのツールPry-Fiはどうですか?
それは素晴らしい働きをし、公式のGoogleプレイストアから入手できます:

これは、ツールの動作を示すスクリーンショットです…

ChainfireのツールPry-Fiのスクリーンショット


Pry-Fiを試しました。私の電話がテスト済みとしてリストされているにもかかわらず、wi-fiが完全に使用できなくなりました。接続するネットワークすら見えませんでした。ホームネットワークに再びアクセスするには、アンインストールする必要がありました。
mc0e

3

強力な自動化ツールであるTaskerなどを使用してそれを行うことができます。

  • 状態: 監視の開始(つまり、タスカーが開始された、またはデバイスの起動、つまり起動プロセスが終了した)
  • タスク: コマンドをパラメーターとして使用してShellを実行する

もっと豪華にしたい場合は、変数ランダム化を使用して毎回異なるMACを生成することもできます...


これは、オンラインになるプロセスの一部としてトリガーされますか?可能であれば、ハードウェアのMACをまったくブロードキャストしないようにします。
mc0e 2013

これは、説明したように、定義した場所でトリガーされます。モニターの開始は、Taskerがアクティブ化されたときです。通常、起動直後です(またはTaskerを開始/再起動したとき、またはMonitoringサービスを手動でアクティブ化したとき)。デバイスブートを条件として使用する場合、ブート後に「トリガー」されるだけで、Taskerモニターを手動で起動/再起動するときはトリガーされません。したがって、どちらの場合も、ブート直後に適用されます。ネットワークの初期化の方が速いかどうかはわかりません。
Izzy

アクティベーションでは、Wi-Fiがオンになるタイミングを追跡し、パケットがブロードキャストされる前にMACを変更する必要があります。私はそれが信頼できると確信しているわけではないが、おそらく私は間違っている。
mc0e

@ mc0e疑問がある場合は、別の条件(ネットワークの変更時にトリガーされるもの)を含む2番目のプロファイルを追加し、それに同じタスクを適用します:)
Izzy

2

Taskerを使用した他の回答(「Tasker、強力な自動化ツールを使用してそれを行うことができます」など)に加えて、MACをランダム化した小さなタスク(説明のエクスポート)を次に示します。

TestMacChanger (130)
    A1: Variable Set [ Name:%count To:0 Do Maths:On Append:Off ] 
    <randomstart>
    A2: Variable Randomize [ Name:%random Min:0 Max:15 ] 
    A3: Variable Convert [ Name:%random Function:Decimal to Hex Store Result In:%rhex ] 
    A4: Test Variable [ Type:Length Data:%rhex Store Result In:%len ] 
    A5: Variable Set [ Name:%rhex To:0%rhex Do Maths:Off Append:Off ] If [ %len eq 1 ]
    A6: Variable Convert [ Name:%rhex Function:To Upper Case Store Result In: ] 
    A7: Variable Set [ Name:%mac To:%mac:%rhex Do Maths:Off Append:Off ] If [ %mac Set ]
    A8: Variable Set [ Name:%mac To:%rhex Do Maths:Off Append:Off ] If [ %mac !Set ]
    A9: Variable Add [ Name:%count Value:1 Wrap Around:0 ] 
    <randomend>
    A10: Goto [ Type:Action Label Number:1 Label:randomstart ] If [ %count < 6 ]
    A11: Variable Set [ Name:%mac To:00:11:22:33:44:55 Do Maths:Off Append:Off ] If [ %mac !Set ]
    A12: Flash [ Text:%mac Long:On ] 
    A13: Run Shell [ Command:su
busybox ifconfig wlan0 hw ether %mac Timeout (Seconds):0 Use Root:On Store Output In:%output Store Errors In:%error Store Result In: Continue Task After Error:On ] 
    A14: Flash [ Text:%error Long:Off ] If [ %error Set ]

これは、ランダムなMACを取得するために6つのランダムな16進数値のループを実行しています。

私はこのコマンドで新しいマックを見ることができます:

busybox iplink show wlan0

再起動後、古いMacはリセットされます。



-2

これは、bashスクリプトを使用するか、initファイルを編集して、ここにあるコマンドを含めることができると思います。


1
これは役に立ちません。OPはスクリプトに何を入れますか?どこに行くの?
ピーナッツ

1
これは本当に、私が最初の質問で提起したものの繰り返しです。私はスクリプトを書くことに問題はありませんが、私の電話がオンラインになるたびにトリガーされるためにどこに行く必要があるのか​​わかりません。
mc0e 2013

さらに、ブートイメージを変更する必要があります。initスクリプトはその一部です。「マウントされたファイルシステム」内のinitファイルの変更は、ブート後に失われます(詳細については、たとえば、initrd @ Wikipediaを参照してください)。
Izzy

NICのアップとダウンを切り抜けるMACアドレスを設定する方法が得られれば、電話を再起動するたびにスクリプトを変更する必要があるとしても、これは一歩前進です。特に、wifiリンクがアップするたびにパケットがブロードキャストされる前にMACアドレスが設定されることを意味する場合。
mc0e 2013
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.