Macchanger, das Tool, mit dem wir die MAC-Adresse in diesem Artikel ändern werden, hat einen Dienst, der Sie fragt, ob Sie Ihre MAC-Adresse bei jedem Start Ihres Computers ändern möchten, aber das funktioniert bei mir unter Ubuntu 18.04 nicht. Da jede von Macchanger vorgenommene Änderung zurückgesetzt wird, wenn Sie Ihr System neu starten, enthält dieser Artikel Anweisungen zum Erstellen einer systemd-Unit, um Macchanger automatisch auszuführen, wenn Ihr Linux-Computer hochfährt, wobei die MAC-Adresse jedes Mal geändert wird.
Um dieses Handbuch verwenden zu können, muss Ihr Linux-System systemd verwenden , anscheinend.
1. Macchanger installieren
Macchanger sollte in den Repositories der großen Linux-Distributionen enthalten sein. Um es in Debian / Ubuntu / Linux Mint zu installieren, verwenden Sie:
sudo apt install macchanger
2. Bestimmen Sie die Netzwerkschnittstelle, für die Sie die MAC-Adresse ändern möchten
Sie können dazu den folgenden Befehl verwenden:
ifconfig -a
Wenn Sie ein System verwenden, auf dem dies nicht mehr funktioniert, können Sie stattdessen diesen Befehl ausführen:
ip link show
Ihre Netzwerkschnittstellen sollten jetzt wie folgt angezeigt werden:
- Zum
ifocnfig -a
:
$ ifconfig -a
enp10s0: flags=4163 mtu 1500
inet 192.168.1.211 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe60::cc24:29cf:2c1:1c5a prefixlen 64 scopeid 0x20
ether 1d:21:da:ab:1d:71 txqueuelen 1000 (Ethernet)
RX packets 164861 bytes 215658240 (215.6 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 45118 bytes 8577639 (8.5 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Local Loopback)
RX packets 265 bytes 20133 (20.1 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 265 bytes 20133 (20.1 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlp3s0: flags=4098 mtu 1500
ether 1e:14:57:1c:66:11 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
- Zur
ip link show
:
$ ip link show
1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp10s0: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether 1d:21:da:ab:1d:71 brd ff:ff:ff:ff:ff:ff
3: wlp3s0: mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000
link/ether 1e:14:57:1c:66:11 brd ff:ff:ff:ff:ff:ff
Hier ist die kabelgebundene Netzwerkschnittstelle enp10s0
und drahtlose Netzwerkschnittstelle ist wlp3s0
(vorher eth0
, 1 usw. wurde für kabelgebundene Schnittstellen verwendet und wlan0
, 1 usw. für WLAN). Notieren Sie sich die Netzwerkschnittstelle, deren MAC-Adresse Sie fälschen möchten.
3. Überprüfen Sie, ob Macchanger tatsächlich auf Ihrem System funktioniert
Bevor Sie die systemd-Einheit erstellen, um die MAC-Adresse bei jedem Neustart automatisch zu ändern, überprüfen Sie, ob Macchanger Ihre MAC-Adresse tatsächlich ändern kann (ich habe Fälle gesehen, in denen dies aus irgendeinem Grund nicht funktioniert). Um Ihre MAC-Adresse vorübergehend zu ändern (die Änderung wird nach einem Systemneustart zurückgesetzt), führen Sie Macchanger wie folgt aus:
sudo macchanger -r NETWORK-INTERFACE
NETWORK-INTERFACE
ist die Netzwerkschnittstelle, für die Sie den MAC ändern möchten, wie in Schritt 2 in diesem Artikel aufgeführt (z. B. enp10s0, wlp3s0).
Wenn Macchanger funktioniert, ist es -r
Die Option sollte die MAC in eine zufällige MAC-Adresse ändern und der Befehl sollte die ursprüngliche und die neue MAC-Adresse zurückgeben.
4. Erstellen Sie eine systemd-Unit, um Macchanger automatisch bei jedem Systemstart auszuführen (das bedeutet, dass sich die MAC-Adresse bei jedem Systemstart ändert)
Wir erstellen den /etc/systemd/system/[email protected]
systemd-Unit-Datei und öffnen Sie sie als root mit einem Texteditor:
sudo touch /etc/systemd/system/[email protected]
gedit admin:///etc/systemd/system/[email protected]
Wenn Sie Gedit nicht installiert haben, ersetzen Sie es im obigen Befehl durch einen anderen Texteditor, der auf Ihrem System installiert ist.
Fügen Sie Folgendes in [email protected]
ein Datei:
[Unit]
Description=changes mac for %I
Wants=network.target
Before=network.target
BindsTo=sys-subsystem-net-devices-%i.device
After=sys-subsystem-net-devices-%i.device
[Service]
Type=oneshot
ExecStart=/usr/bin/macchanger -r %I
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
Die systemd-Einheit wird verwendet macchanger -r
den MAC zu ändern. -r
setzt eine völlig zufällige MAC-Adresse. Sie können -r
ändern bis -e
um den MAC zu ändern, aber die ursprünglichen Bytes des NIC-Herstellers beizubehalten, -a
um zufällige Hersteller-MACs der gleichen Art zu platzieren und so weiter. Sie können alle verfügbaren Optionen sehen, indem Sie Folgendes tun:
macchanger --help
Sie können auch eine benutzerdefinierte, nicht zufällige MAC-Adresse festlegen. Ändern Sie dazu den ExecStart=/usr/bin/macchanger -r %I
Zeile etwa so:
ExecStart=/usr/bin/macchanger --mac=XX:XX:XX:XX:XX:XX %I
Ersetzen Sie XX:XX:XX:XX:XX:XX
mit der neuen MAC-Adresse.
5. Aktivieren Sie den Macchanger-Systemdienst
Jetzt ist es an der Zeit, den systemd-Dienst zu aktivieren, damit er beim Booten startet. Verwenden Sie dazu:
sudo systemctl enable [email protected]enp10s0.service
Ersetzen Sie enp10s0
mit der Netzwerkadresse aus Schritt 2.
Sie können denselben Befehl verwenden, um die Änderung der MAC-Adresse für mehrere Netzwerkschnittstellen zu aktivieren.
6. Starten Sie das System neu
Ihre Netzwerkschnittstelle(n) sollten jetzt eine neue MAC-Adresse haben. Informationen zum Überprüfen der alten (ursprünglichen) und neuen MAC-Adresse finden Sie unten.
So überprüfen Sie die ursprüngliche und die neue MAC-Adresse
Macchanger kann verwendet werden, um die ursprüngliche MAC-Adresse und die neue MAC-Adresse herauszufinden, indem Sie diesen Befehl ausführen:
macchanger -s NETWORK-INTERFACE
Wobei NETWORK-INTERFACE
ist die Netzwerkschnittstelle, die Sie mit den Befehlen in Schritt 2 gefunden haben.
Beispiel:
$ macchanger -s enp10s0
Current MAC: 1d:21:da:ab:1d:71 (unknown)
Permanent MAC: 72:ab:3d:89:88:88 (Intel Corporate)
So deaktivieren Sie das Ändern des MAC bei jedem Neustart mit systemd
Um die Änderungen rückgängig zu machen, deaktivieren Sie zunächst den/die systemd MAC Changer Service(s):
sudo systemctl disable [email protected]enp10s0.service
Ersetzen Sie enp10s0
mit der Netzwerkadresse aus Schritt 2 (aus der Anleitung zur Ersteinrichtung). Tun Sie dies für jede Netzwerkschnittstelle, für die Sie den Dienst zuvor aktiviert haben.
Jetzt können Sie die systemd-Dienstdatei des MAC-Wechslers entfernen:
sudo rm /etc/systemd/system/[email protected]