Ändern Sie die MAC-Adresse in OS X Yosemite

34

Normalerweise habe ich meine MAC-Adresse mit den folgenden Befehlen geändert:

# Get a New MAC Address
openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/.$//'
# Changing the MAC Address
sudo ifconfig en0 ether d4:33:a3:ed:f2:12

Wenn ich eintrete:

ifconfig en0 |grep ether

Ich erhalte immer noch die alte MAC-Adresse :( - Wer kann helfen? Ich hätte gerne ein Skript oder System, um es beim Systemstart automatisch zu ändern.

Lupo
quelle
3
Haben Sie versucht, SpoofMAC ( pip install SpoofMAC)? Dies funktioniert immer noch auf Yosemite für mich.
L3viathan

Antworten:

35

Ein mögliches Problem ist, dass zufällig generierte MACs die halbe Zeit ausfallen. Das erste Byte einer MAC-Adresse muss gerade sein (z. B. end in 0, 2, 4, 6, 8, A, C, E).

Zum Beispiel würde 3b: 92: 22: cf: 55: 7e nicht funktionieren, weil '3b' ungerade ist. Weitere Informationen finden Sie im Artikel zur MAC-Adresse von Wikipedia (gerade = Unicast, ungerade = Multicast).

Um dieses Problem zu vermeiden, können Sie Ihren Befehl random-MAC sed leicht bearbeiten, um das zweite Nibble auf 0 zu setzen.

openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/./0/2; s/.$//'

Dies mit der Antwort von hrbrmstr zu kombinieren, hat bei mir funktioniert:

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
heiter
quelle
2
Diese Methode hat bei mir funktioniert. Dies muss in der Antwortliste weiter oben stehen.
Feng Huo
Eine Sache, die das ein bisschen kürzer macht: sudo /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -z; sudo ifconfig en0 ether a0$(openssl rand -hex 5 | sed 's/\(..\)/:\1/g'); networksetup -detectnewhardware Es macht es ein bisschen weniger zufällig.
Kevin Lyda
27

Sie müssen die Zuordnung des Geräts aufheben, bevor Sie die MAC-Adresse ändern können. Denn en0es wird sein:

sudo /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -z
sudo ifconfig en0 ether d4:33:a3:ed:f2:12
networksetup -detectnewhardware
hrbrmstr
quelle
Ich habe es versucht und es hat immer noch nicht funktioniert.
Feng Huo,
@ FengHuo es hat bei mir funktioniert, am 10.11.2 (obwohl ich eine andere MAC-Adresse verwendet habe)
Mint
Arbeitet am 10.11.6
Paweł Szczur 18.10.16
2
Sie haben gerade unseren Familienurlaub für die Eltern viel angenehmer gemacht. Das Apple TV hinter einem Anmeldebildschirm in das Netzwerk des Hotels zu bringen und die MAC-Adresse zu
fälschen, hat wunderbar
6

Ferros hat ein Tool für süße Knoten entwickelt, um genau dies zu tun: https://github.com/feross/spoof

Er hat eine Python-Version sowie https://github.com/feross/SpoofMAC

Tyler Buchea
quelle
5
Die Installation von node.js, um etwas zu tun, was durch einfaches Ausführen erreicht werden kann, ifconfigscheint etwas übertrieben zu sein ...
nohillside
2
Es versteht sich von selbst, dass dies eine Lösung für Knotenbenutzer ist. Er hat auch eine Python-Version (die auf Macs vorinstalliert ist) github.com/feross/SpoofMAC
Tyler Buchea
ifconfigist nicht plattformübergreifend; Dieser "Node Overkill" funktioniert unter Windows, Linux und MacOS. Plus $ spoof resetmacht das Gegenteil, in 2 Worten.
Fregante
4

Dieser Befehl funktioniert gut für mich, das Zufallsskript habe ich aus dieser Antwort entnommen: https://serverfault.com/a/299564 von MadHatter.

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
Tukan3
quelle
1

Benutze das

sudo ifconfig en0 lladdr d4: 33: a3: ed: f2: 12

Siehe die Handbuchseite von ifconfig

man ifconfig

Clive819
quelle
0

Hier ist mein Beitrag zur Änderung Ihrer MAC-Adresse: 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`
Vinyll
quelle
-1

Das funktioniert!

Schritte:

  1. Holen Sie sich die MAC-Adresse Ihres Apple TV und notieren Sie sie. Es ist in den Netzwerkeinstellungen zu finden.

  2. Ermitteln Sie die MAC-Adresse Ihres MacBook (Yosemite OS-Version). Geben Sie "ifconfig" in ein Terminalfenster ein. Es wird im Abschnitt "En0" sein.

  3. Ausschneiden / Einfügen von Folgendem (Ersetzen der X durch Ihre Apple TV MAC-Adresse) in ein Terminalfenster:

Ändern Sie MAC OSX in den Apple TV MAC

sudo /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -z

sudo ifconfig en0 ether XX: XX: XX: XX: XX: XX

networksetup -detectnewhardware

  1. Geben Sie Ihr Passwort ein, wenn Sie dazu aufgefordert werden, und wiederholen Sie gegebenenfalls Schritt 3 **

  2. Stellen Sie mit Ihrem MAC (nicht mit Apple TV) eine Verbindung zum Hotel-WLAN her und akzeptieren Sie die Servicebedingungen.

  3. Schneide das Folgende aus / füge es in das Terminalfenster ein (ersetze die Y's durch deine MAC OSX MAC Adresse)

Ändern Sie die MAC-Adresse wieder in die ursprüngliche

sudo /System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport -z

sudo ifconfig en0 ether JJ: JJ: JJ: JJ: JJ: JJ

networksetup -detectnewhardware

  1. Stellen Sie mit Ihrem Apple TV eine drahtlose Verbindung zum Hotel her.
Kennzeichen
quelle
1
In welcher Beziehung steht das in der Frage beschriebene Problem?
Nohillside
-1
sudo ifconfig en0 ether `openssl rand -hex 5|perl -nE '$s.=join":",/../g}{say"02:$s"'`&& sudo ifconfig en0 down && sudo ifconfig en0 up

Mein ist viel schlauer :)

Mantovani
quelle
Was macht Ihre Antwort schlauer? Was bedeutet schlauer in diesem Zusammenhang?
Michael Ozeryansky