Wer seinen Rechner mit dem Internet verbindet, bekommt eine IP-Adresse zugewiesen, unter der der Rechner erreichbar ist. Zur Identifikation des Nutzers ist die IP allerdings nur geeignet, wenn außerdem auf Daten des Providers zugegriffen wird, denn die IP ändert sich meistens mit jeder neuen Einwahl ins Netz. Die sogenannte MAC-Adresse hingegen wird jeder Netzwerkkarte vom Hersteller fest zugeordnet. Da jede MAC-Adresse außerdem weltweit nur einmal vergeben wird (oder werden sollte …), kann über die MAC-Adresse ein bestimmter Rechner eindeutig identifiziert werden: Die MAC ist quasi der Fingerabdruck jeder Netzwerkkarte und damit des Rechners, in den sie eingebaut ist.
Allerdings bietet Windows eine Möglichkeit, die verwendete MAC-Adresse zu ändern. Damit bleibt zwar die vom Hersteller festgelegte MAC intern gespeichert, die Netzwerkkarte verwendet jedoch zur Kommunikation im Netzwerk nur noch die neue. Ändert man nun regelmäßig – z.B. bei jedem Booten – die MAC-Adresse, kann man einer Identifikation des eigenen Rechners über die MAC-Adresse recht effektiv entgegenwirken.
Zu diesem Zweck habe ich auf der Grundlage eines Programms von Nathan True macshift 2.0 entwickelt, mit dem sich die MAC jeder Netzwerkkarte unter Windows 2000/XP/Vista (32 bit) auf selbstgewählte oder zufällige Werte setzen lässt.
- Download macshift.exe
- Download macshift.exe als zip
- Download macshift-2.0-source.zip
- Falls sich das Programm nicht starten lässt, benötigen Sie eventuell noch die Microsoft-Laufzeitbibliothek für C++. Darauf weisen folgende vielsagende Fehlermeldungen hin: “Das angegebene Programm kann nicht ausgeführt werden” (XP) oder – noch kryptischer – “Diese Anwendung konnte nicht gestartet werden, da die Side-by-Side-Konfiguration ungültig ist” (Vista).
- Das Programm benötigt Administratorenrechte, also bitte ggf. per Rechtsklick auf macshift.exe unter
Eigenschaften / Kompatibilität / Programm als ein Administrator ausführen einstellen.
Hier noch eine kurze Anleitung:
- mit macshift -l kann man sich sämtliche aktiven Netzwerkverbindungen des Rechners auflisten lassen, z.B.
Z:\>macshift -l
macshift v2.0, MAC Changing Utility
1. 'LAN' on device 'Realtek RTL8139-Familie-PCI-Fast Ethernet-NIC'
2. 'Centrino' on device 'Intel(R) PRO/Wireless Network Connection'
3. '1394-Verbindung' on device '1394-Netzwerkadapter'
- mit macshift -i Adaptername setzt man die MAC des genannten Adapters auf einen zufälligen Wert:
Z:\>macshift -i LAN
Macshift v2.0, MAC Changing Utility
Setting MAC on adapter 'LAN' to 00059E5D4C9A...
Adapter ID is {DE6224A7-BF4C-4DC5-9114-XXXXXXXXXXXX}
Resetting adapter...
Done
- mit macshift -I Adapternummer funktioniert das auch über die Nummer des Adapters, wie sie macshift -l ausgibt, d.h. man muss nicht den ganzen Namen des Adapters tippen:
Z:\>macshift -I 1
Macshift v2.0, MAC Changing Utility
Setting MAC on adapter 'LAN' to 00059E5D4C9A...
Adapter ID is {DE6224A7-BF4C-4DC5-9114-XXXXXXXXXXXX
}
Resetting adapter...
Done
- mit macshift -d löscht man die geänderte MAC, sodass wieder die vom Hersteller vergebene MAC verwendet wird.
Wenn man z.B. bei jedem Neustart von Windows eine neue MAC benutzen will, bietet sich ein Eintrag in der Autostart-Gruppe des Startmenüs an.
Auf einige mögliche Probleme möchte ich hinweisen:
- wenn man die MAC eines WLAN-Adapters ändert, sollte man im Router keine MAC-Filterung aktiviert haben, da man sich sonst nicht mehr verbinden kann - das ist ja gerade der Sinn des MAC-Filters. Allerdings zeigt macshift, wie sinnlos solche MAC-Filter eigentlich sind ...
- auch andere MAC-basierte Filter verhindern möglicherweise die Benutzung einer nicht freigeschalteten MAC, so etwa manche Uni-Netzwerke, bei denen man "seine" MAC einmal freischalten lassen muss
- einige WLAN-Adapter-Treiber (z.B. für Adapter aus der Atheros-Familie) scheinen unter Vista die mit macshift eingestellte MAC-Adresse zu ignorieren und stets die hardwareseitig vorgegebene Adresse zu benutzen. Das ist kein Fehler von macshift, sondern Schlamperei seitens des Treiberherstellers - leider kann ich an dieser unerfreulichen Lage nichts ändern. Ich bin aber für Hinweise dankbar, falls es mit einer bestimmten Treiberversion doch funktionieren sollte.
- ACHTUNG: Es ist bei Strafe verboten, mittels macshift gezielt Zugangskontrollen zu umgehen, vgl. § 202a Abs. 1 StGB. Vor einer solchen missbräuchlichen Nutzung wird ausdrücklich gewarnt! Sie ist nicht in meinem Sinne und wird daher hier auch nicht beschrieben. Mir geht es allein um den Schutz der Privatsphäre bei der Nutzung von Netzwerken.
Hallo ,
ich habe ein 64 bit Win7 System und die Mac- Änderung wird ohne Fehlermeldung programmseitig durchgeführt. Wenn ich dann die Mac- Adressen im Netzwerk anschaue scheint die Adressenänderung nicht erfolgt zu sein.
Liegt das am 64 bit- Sytem ?
Gruß
Peter
Hi,
ich muss gestehen, dass ich das Programm unter Win32 programmiert & nicht unter Win64 getestet habe (ich habe gar kein Windows-System mehr). Ich vermute jedoch als Fehlerquelle eher, dass es daran liegt, dass der Treiber der Netzwerkkarte die Funktion “MAC ändern” nicht unterstützt. In der Systemsteuerung kann man in den Eigenschaften der Netzwerkkarte nachschauen, ob die geänderte MAC richtig gesetzt wurde (d.h. ob MacShift richtig arbeitet). Ob der Treiber die auch verwendet, kann man in der Tat am besten auf Packet-Ebene checken.
Beste Grüße!