Wie kann ich meine MAC-Adresse bei jedem Einschalten meines WLANs nach dem Zufallsprinzip sortieren?

8

Angesichts der zunehmenden Verbreitung von Systemen, die die Bewegungen von Personen anhand ihrer Mac-Adressen verfolgen, möchte ich meine verdecken.

Ich habe eine verwurzelte Galaxy Note 2 mit Busybox installiert. Ich kann meine MAC-Adresse folgendermaßen ändern:

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

Wenn ich jedoch mein WLAN deaktiviere und wieder aktiviere oder mein Telefon neu starte, wird es vergessen. Kann ich irgendwo ein Skript einfügen, damit es jedes Mal ausgeführt wird, wenn mein WLAN eingeschaltet wird?

mc0e
quelle
Probieren

Antworten:

6

Wie wäre es mit Chainfires Tool Pry-Fi, das auf der XDA angekündigt wurde ?
Es funktioniert hervorragend und ist über den offiziellen Google Play-Store erhältlich unter:

Hier ist ein Screenshot, der das Tool in Aktion zeigt…

Screenshot von Chainfires Tool Pry-Fi

Peter
quelle
Ich habe Pry-Fi ausprobiert. Obwohl mein Telefon als getestet eingestuft wurde, wurde WLAN völlig unbrauchbar. Ich konnte nicht einmal Netzwerke sehen, mit denen ich mich verbinden konnte. Ich musste deinstallieren, um wieder auf mein Heimnetzwerk zugreifen zu können.
mc0e
3

Sie können dies beispielsweise mit Tasker , dem mächtigen Automatisierungstool, tun :

  • Bedingung: Monitorstart (dh Tasker wurde gestartet; alternativ: Gerätestart , dh Startvorgang abgeschlossen)
  • Aufgabe: Führen Sie Shell mit Ihrem Befehl als Parameter aus

Wenn Sie es ausgefallener mögen, können Sie sogar Variable Randomize verwenden , um jedes Mal einen anderen MAC zu generieren ...

Izzy
quelle
Würde dies als Teil des Online-Prozesses oder kurz danach ausgelöst? Wenn möglich, möchte ich den MAC der Hardware überhaupt nicht senden.
mc0e
Dies würde auslösen, wo Sie es definiert haben, wie beschrieben: Der Monitorstart erfolgt, wenn der Tasker aktiviert wird, normalerweise unmittelbar nach dem Start (oder wenn Sie den Tasker starten / neu starten oder seinen Überwachungsdienst manuell aktivieren). Wenn Sie den Gerätestart als Bedingung verwenden, wird dieser erst nach dem Start "ausgelöst", nicht jedoch, wenn Sie den Tasker- Monitor manuell starten / neu starten . In beiden Fällen wird es also sofort nach dem Booten angewendet. Ich kann nicht sagen, ob die Netzwerkinitialisierung möglicherweise schneller ist.
Izzy
Die Aktivierung müsste verfolgen, wann Wi-Fi eingeschaltet ist, und den MAC ändern, bevor Pakete gesendet werden. Ich bin nicht so zuversichtlich, dass man sich darauf verlassen kann, aber vielleicht irre ich mich.
Mc0e
@ mc0e Wenn Sie Zweifel haben, fügen Sie ein zweites Profil mit einer anderen Bedingung hinzu (etwas, das bei Netzwerkänderungen ausgelöst wird), und wenden Sie dieselbe Aufgabe darauf an :)
Izzy
2

Zusätzlich zu der anderen Antwort mit Tasker ("Sie können dies beispielsweise mit Tasker, dem mächtigen Automatisierungstool, tun:"), hier eine kleine Aufgabe (Beschreibungsexport) mit Randomisierung des 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 ]

Dies macht eine Schleife für 6 zufällige Hex-Werte, um einen zufälligen Mac als zB 01: 4F: 89: BA: 3F: 0C zu erhalten. Dann wird dieser zufällige Mac als eigener Mac eingestellt.

Ich kann den neuen Mac mit diesem Befehl sehen:

busybox iplink show wlan0

Nach einem Neustart wird der alte Mac zurückgesetzt.

Franc
quelle
1

Verwenden Sie die App von Chainfire namens Pry-Wifi, die genau das tut.

t0mm13b
quelle
-2

Ich denke, dies könnte mit einem Bash-Skript oder durch Bearbeiten der Init-Datei erfolgen, um den Befehl aufzunehmen, den Sie hier haben.

Leer
quelle
1
Das ist nicht hilfreich; Was würde OP in das Skript einfügen? Wohin würde es gehen?
Erdnuss
1
Dies ist wirklich eine Wiederholung von Dingen, die ich in der ursprünglichen Frage vorgetragen habe. Ich habe kein Problem damit, ein Skript zu schreiben, aber ich weiß nicht, wohin es gehen muss, um jedes Mal ausgelöst zu werden, wenn mein Telefon online geht.
mc0e
Außerdem müsste dafür das Boot-Image geändert werden. Init-Skripte sind Teil davon. Alle Änderungen an Init-Dateien im "gemounteten Dateisystem" gehen nach dem Start verloren ( Details siehe z. B. initrd @ Wikipedia ).
Izzy
Wenn ich die MAC-Adresse festlegen kann, die das Auf- und Absteigen der Netzwerkkarte überlebt, ist dies ein Fortschritt, auch wenn ich das Skript nach jedem Neustart des Telefons ändern muss. Dies gilt insbesondere dann, wenn die MAC-Adresse jedes Mal festgelegt wird, bevor Pakete gesendet werden, wenn die WLAN-Verbindung hergestellt wird.
Mc0e