Jede MAC-Adresse, Media-Access-Control-Adresse, ist weltweit eindeutig. Du bist dadurch zweifelsfrei zu identifizieren. Vor diesem Hintergrund kann es interessant sein, die MAC-Adresse eines Netzwerkdapters zu verschleiern. Der Artikel zeigt ein Script, mit dem Du auf einem Mac die MAC-Adresse verschleiern kannst. Mit geringfügiger Anpassung sollte das Script auf allen Unix/Linux-basierten Systemen laufen.
Öffne dafür ein Terminal auf Deinem Mac. Du findest es unter “Utilities” -> “Dienstprogramme”.
Im ersten Schritt generierst Du in diesem Terminal eine fake MAC-Adresse. Das sind lediglich 6 zufällig generierte Hexadezimalzahlen, die durch einen Doppelpunkt voneinander getrennt sind.
openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/.$//'
“openssl rand -hex 6” generiert 6 zufällige Hexadezimalzahlen. Mittels Pipe (|) wird der String an den Editor “sed” gesendet und dort Formatiert.
Somit hast Du eine MAC-Adresse generiert. Diese musst Du jetzt nur noch als Netzwerkadresse für Deinen Netzwerkadapter setzen. Das machst Du durch folgenden Aufruf:
sudo ifconfig en0 ether "fakeNetzwerkadresse"
Das war es dann auch schon. Nach einem Neustart von en0, wird Deine erzeugte fake MAC-Adresse genutzt.
Nun wirst Du das ungern jedesmal in ein Terminal einklimpern wollen. Daher eignet sich hierfür ein Script, das Du nur noch aufrufen musst. Theoretisch in einer Schleife, so dass die MAC-Adresse nach einer beliebigen Zeit neu gesetzt wird.
Das könnte dann folgend aussehen:
#!/bin/bash
function create_macaddress(){
local fake_mac_address=$(openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/.$//')
echo $fake_mac_address
}
function mac_address_looping(){
loops=$1
while [ $loops -ge 1 ]
do
echo "Your MAC-Address is"
ifconfig en0 | grep ether
echo "Create fake Mac-Address..."
fma=$(create_macaddress)
if [ -n $fma ]
then
echo $fma
echo "Set new Mac-Address for your device. You need root access:"
$(sudo ifconfig en0 ether $fma)
$(sudo ifconfig en0 down) &
PID=$!
wait $PID
$(sudo ifconfig en0 up) &
PID=$!
wait $PID
echo "New Mac-Address is:"
echo $(ifconfig en0 | grep ether)
fi
((loops=loops-1))
$(sleep $2)
done
}
#parameter 1 specifies how often mac-address is changed.
#parameter 2 specifies how long it will last until mac-address is changed again
if [ $1 -gt 0 ] && [ $2 -gt 59 ]
then
mac_address_looping $1 $2
else
mac_address_looping 10 600
fi
Kopiere den Code in einen Editor, wie “TextEdit” oder im Terminal in “vim” und speichere ihn in einem Verzeichnis Deiner Wahl. Beispielsweise als changeMac.sh in Deinem Home-Verzeichnis.
Anschliessend kannst Du die erstellte Datei “ausführbar” machen. Befindest Du Dich im selben Verzeichnis, wie die gespeicherte Datei changeMac.sh, kannst Du im Terminal die Datei ausführbar machen.
chmod 755 changeMac.sh
Jetzt kannst Du das Script mit:
./changeMac.sh
aufrufen. Du kannst ihm gleich zwei Parameter übergeben. Parameter 1 gibt die gewünschte ANzahl der Iterationen an. Also wie oft die MAC-Adresse geändert werden soll. Parameter 2 gibt die Dauer zwischen den Iterationen an. Also wie lange bleibt die aktuelle MAC-Adresse bestehen.
Beispiel:
./changeMac.sh 10 600
Der Aufruf würde alle 10 Minuten Deine MAC-Adresse ändern. Nach zehn Änderungen würde sich das Script beenden.
Kurz zum Verständnis des Scripts. In der ersten Zeile wird die Shell angegeben, die das Script ausführt. Die Funktion create_macaddress generiert eine fake Mac_address. In der Funktion mac_address_looping werden in einer Schleife immer wieder neue gefakte Mac-Adressen gesetzt. Paramter 1 der Funktion gibt an, wie oft die MAC-Adresse neu gesetzt werden soll. Paramater 2 gibt an, wieviel Sekunden verstreichen sollen, bis die Mac-Adresse neu gesetzt wird. Standard 600 Sekunden -> 10 Minuten.
Und wozu soll das gut sein?
Warum solltest Du Deine MAC-Adresse verschleiern?
Stell Dir einfach einmal den Fall vor, dass Du über ein öffentliches Netzwerk ins Internet gehst. Eventuell via VPN, um Deine Kommunikation zu verschlüsseln. Das dürfte recht anonym sein. Könnte man Dich jetzt noch identifizieren?
Ja, kann man. Sogar recht einfach. Denn der Router speichert in der Regel Deine MAC-Adresse und die im lokalen Netz zugewiesene IP-Adresse. Da die MAC-Adresse von Deinem Netzwerkadapter eindeutig ist, bist Du auch eindeutig zu identifizieren.
Das ist der Grund, weshalb Du Deine MAC-Adresse ändern solltest, wenn Du anonym sein möchtest. Das sollte selbstverständlich vor dem einloggen ins Netzwerk geschehen.
Schreibe einen Kommentar