Macchanger, lo strumento che useremo per cambiare l'indirizzo MAC in questo articolo, ha un servizio che ti chiede se vuoi cambiare il tuo MAC ogni volta che il tuo computer si avvia, ma questo funziona per me su Ubuntu 18.04 no. Poiché qualsiasi modifica apportata da Macchanger verrà ripristinata al riavvio del sistema, questo articolo fornisce istruzioni su come creare un'unità systemd per eseguire Macchanger automaticamente all'avvio del computer Linux, modificando l'indirizzo MAC ogni volta.
Per utilizzare questa guida, il tuo sistema Linux deve utilizzare systemd , a quanto pare.
1. Installa Macchanger
Macchanger dovrebbe essere nei repository delle principali distribuzioni Linux. Per installarlo in Debian / Ubuntu / Linux Mint usa:
sudo apt install macchanger
2. Determina l'interfaccia di rete per la quale desideri modificare l'indirizzo MAC
È possibile utilizzare il seguente comando per eseguire questa operazione:
ifconfig -a
Se stai utilizzando un sistema in cui questo ha smesso di funzionare, puoi invece eseguire questo comando:
ip link show
Le tue interfacce di rete dovrebbero ora essere visualizzate come segue:
- Al
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
- Al
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
Ecco l'interfaccia di rete cablata enp10s0
e l'interfaccia di rete wireless è wlp3s0
(prima, eth0
, 1 ecc. è stato utilizzato per le interfacce cablate e wlan0
, 1 ecc. per WLAN). Prendere nota dell'interfaccia di rete per la quale si desidera falsificare l'indirizzo MAC.
3. Verifica se Macchanger funziona effettivamente sul tuo sistema
Prima di creare l'unità systemd per cambiare automaticamente l'indirizzo MAC ad ogni riavvio, controlla che Macchanger possa effettivamente cambiare il tuo indirizzo MAC (ho visto casi in cui questo non funziona per qualche motivo). Per modificare temporaneamente il tuo indirizzo MAC (la modifica verrà ripristinata dopo un riavvio del sistema), esegui Macchanger come segue:
sudo macchanger -r NETWORK-INTERFACE
NETWORK-INTERFACE
è l'interfaccia di rete per la quale desideri modificare il MAC come elencato nel passaggio 2 di questo articolo (ad es. enp10s0, wlp3s0).
Se Macchanger funziona, è -r
L'opzione dovrebbe cambiare il MAC in un indirizzo MAC casuale e il comando dovrebbe restituire gli indirizzi MAC originali e nuovi.
4. Crea un'unità systemd per eseguire Macchanger automaticamente ogni volta che si avvia il sistema (questo significa che l'indirizzo MAC cambia ogni volta che si avvia il sistema)
Creiamo il /etc/systemd/system/[email protected]
systemd e aprilo come root con un editor di testo:
sudo touch /etc/systemd/system/[email protected]
gedit admin:///etc/systemd/system/[email protected]
Se non hai installato Gedit, sostituiscilo nel comando sopra con un altro editor di testo installato sul tuo sistema.
Incolla quanto segue nel [email protected]
File:
[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
Viene utilizzata l'unità systemd macchanger -r
per cambiare il MAC. -r
imposta un indirizzo MAC completamente casuale. Puoi modificare -r
a -e
per modificare il MAC ma mantenere i byte del produttore della scheda di rete originale, -a
inserire MAC produttori casuali dello stesso tipo e così via. Puoi vedere tutte le opzioni disponibili procedendo come segue:
macchanger --help
Puoi anche impostare un indirizzo MAC personalizzato e non casuale. Per fare ciò, cambia il ExecStart=/usr/bin/macchanger -r %I
Riga come questa:
ExecStart=/usr/bin/macchanger --mac=XX:XX:XX:XX:XX:XX %I
Sostituisci XX:XX:XX:XX:XX:XX
con il nuovo indirizzo MAC.
5. Attiva il servizio systemd Macchanger
Ora è il momento di abilitare il servizio systemd in modo che si avvii all'avvio. Per fare ciò, usa:
sudo systemctl enable [email protected]enp10s0.service
Sostituisci enp10s0
con l'indirizzo di rete del passaggio 2.
Puoi utilizzare lo stesso comando per abilitare la modifica dell'indirizzo MAC per più interfacce di rete.
6. Riavvia il sistema
La tua interfaccia di rete dovrebbe ora avere un nuovo indirizzo MAC. Per informazioni su come controllare il vecchio (originale) e il nuovo indirizzo MAC, vedere di seguito.
Come controllare gli indirizzi MAC originali e nuovi
Macchanger può essere utilizzato per scoprire il MAC originale e il nuovo indirizzo MAC eseguendo questo comando:
macchanger -s NETWORK-INTERFACE
Dove NETWORK-INTERFACE
è l'interfaccia di rete che hai trovato usando i comandi nel passaggio 2.
Esempio:
$ macchanger -s enp10s0
Current MAC: 1d:21:da:ab:1d:71 (unknown)
Permanent MAC: 72:ab:3d:89:88:88 (Intel Corporate)
Come disabilitare la modifica del MAC ad ogni riavvio utilizzando systemd
Per annullare le modifiche, disattivare prima i servizi di modifica MAC di sistema:
sudo systemctl disable [email protected]enp10s0.service
Sostituisci enp10s0
con l'indirizzo di rete del passaggio 2 (dalle istruzioni per la configurazione iniziale). Fallo per ogni interfaccia di rete per la quale hai precedentemente attivato il servizio.
Ora puoi rimuovere il file di servizio systemd del MAC changer:
sudo rm /etc/systemd/system/[email protected]