Macchanger, nástroj, který v tomto článku použijeme ke změně MAC adresy, má službu, která se vás zeptá, zda chcete změnit MAC pokaždé, když se váš počítač zavede, ale u Ubuntu 18.04 to pro mě nefunguje. Vzhledem k tomu, že všechny změny provedené Macchangerem budou resetovány po restartování systému, tento článek poskytuje pokyny, jak vytvořit systémovou jednotku pro automatické spouštění Macchangeru při spuštění počítače se systémem Linux, přičemž pokaždé změníte MAC adresu.
Chcete-li použít tuto příručku, váš systém Linux musí používat systemd , zřejmě.
1. Nainstalujte Macchanger
Macchanger by měl být v repozitářích hlavních linuxových distribucí. Chcete-li jej nainstalovat do Debian / Ubuntu / Linux Mint, použijte:
sudo apt install macchanger
2. Určete síťové rozhraní, pro které chcete změnit adresu MAC
K tomu můžete použít následující příkaz:
ifconfig -a
Pokud používáte systém, kde to přestalo fungovat, můžete místo toho spustit tento příkaz:
ip link show
Vaše síťová rozhraní by nyní měla být zobrazena následovně:
- Do
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
- Do
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
Zde je kabelové síťové rozhraní enp10s0
a rozhraní bezdrátové sítě je wlp3s0
(dříve eth0
, 1 atd. byl použit pro drátová rozhraní a wlan0
, 1 atd. pro WLAN). Poznamenejte si síťové rozhraní, jehož MAC adresu chcete podvrhnout.
3. Zkontrolujte, zda Macchanger ve vašem systému skutečně funguje
Před vytvořením systémové jednotky pro automatickou změnu MAC adresy při každém restartu zkontrolujte, zda Macchanger skutečně může změnit vaši MAC adresu (viděl jsem případy, kdy to z nějakého důvodu nefunguje). Chcete-li dočasně změnit MAC adresu (změna bude resetována po restartu systému), spusťte Macchanger následovně:
sudo macchanger -r NETWORK-INTERFACE
NETWORK-INTERFACE
je síťové rozhraní, pro které chcete změnit MAC, jak je uvedeno v kroku 2 v tomto článku (např. enp10s0, wlp3s0).
Pokud Macchanger funguje, je to -r
Option by měl změnit MAC na náhodnou MAC adresu a příkaz by měl vrátit původní a novou MAC adresu.
4. Vytvořte systémovou jednotku, která automaticky spustí Macchanger při každém spuštění systému (to znamená, že MAC adresa se změní při každém spuštění systému)
Vytvoříme /etc/systemd/system/[email protected]
systemd unit file a otevřete jej jako root pomocí textového editoru:
sudo touch /etc/systemd/system/[email protected]
gedit admin:///etc/systemd/system/[email protected]
Pokud nemáte nainstalovaný Gedit, nahraďte jej v příkazu výše jiným textovým editorem, který je nainstalován ve vašem systému.
Vložte následující do [email protected]
Soubor:
[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
Systémová jednotka se používá macchanger -r
pro změnu MAC. -r
nastaví zcela náhodnou MAC adresu. Můžete změnit -r
na -e
změnit MAC, ale zachovat původní bajty výrobce NIC, -a
umístit náhodné MAC výrobce stejného druhu a tak dále. Všechny dostupné možnosti zobrazíte takto:
macchanger --help
Můžete také nastavit vlastní, nenáhodnou MAC adresu. Chcete-li to provést, změňte ExecStart=/usr/bin/macchanger -r %I
Řádek takto:
ExecStart=/usr/bin/macchanger --mac=XX:XX:XX:XX:XX:XX %I
Nahraďte XX:XX:XX:XX:XX:XX
s novou MAC adresou.
5. Aktivujte službu Macchanger systemd
Nyní je čas povolit službu systemd, aby se spustila v době spouštění. Chcete-li to provést, použijte:
sudo systemctl enable [email protected]enp10s0.service
Nahraďte enp10s0
se síťovou adresou z kroku 2.
Stejný příkaz můžete použít k povolení změny MAC adresy pro více síťových rozhraní.
6. Restartujte systém
Vaše síťová rozhraní by nyní měla mít novou MAC adresu. Informace o tom, jak zkontrolovat starou (původní) a novou adresu MAC, naleznete níže.
Jak zkontrolovat původní a nové adresy MAC
Macchanger lze použít ke zjištění původní MAC a nové MAC adresy spuštěním tohoto příkazu:
macchanger -s NETWORK-INTERFACE
Kde NETWORK-INTERFACE
je síťové rozhraní, které jste našli pomocí příkazů v kroku 2.
Příklad:
$ macchanger -s enp10s0
Current MAC: 1d:21:da:ab:1d:71 (unknown)
Permanent MAC: 72:ab:3d:89:88:88 (Intel Corporate)
Jak zakázat změnu MAC při každém restartu pomocí systemd
Chcete-li změny vrátit zpět, nejprve deaktivujte službu (služby) systémového měniče MAC:
sudo systemctl disable [email protected]enp10s0.service
Nahraďte enp10s0
se síťovou adresou z kroku 2 (z pokynů pro počáteční nastavení). Udělejte to pro každé síťové rozhraní, pro které jste službu dříve aktivovali.
Nyní můžete odebrat servisní soubor systemd měniče MAC:
sudo rm /etc/systemd/system/[email protected]