Article original: How to Change MAC Address in Linux

Traduït per retiolus, útlima actualització: 2024-03-12


Abans de veure com podem canviar l’adreça MAC a Linux, primer mirem per quina raó l’hauríem de canviar.

Els motius poden ser variats. Potser no volem que la nostra adreça MAC real (també anomenada adreça física) estigui exposada a una xarxa pública? Una altra raó pot ser que l’administrador de la xarxa hagi bloquejat una adreça MAC concreta al rúter o al tallafoc.

Un “avantatge” pràctic és que algunes xarxes públiques (com ara el WiFi de l’aeroport) permeten tenir internet gratuït durant un temps limitat. Si volem utilitzar Internet més enllà d’aquest temps, la falsificació de la nostra adreça MAC pot enganyar la xarxa perquè cregui que som un dispositiu nou. D’això se n’ha fet un mem famós.

Airport WiFi Meme

Ara veurem quins són els passos a seguir per canviar l’adreça MAC (també anomenat spoofing/falsificació de l’adreça MAC):

Pas 1: Trobar la nostra adreça MAC i la nostra interfície de xarxa

Comencem per obtenir els detalls la targeta de xarxa a Linux. Utilitzem aquesta ordre per obtenir els detalls de la interfície de xarxa:

ip link show

A la sortida, veurem la nostra adreça IP, adreça MAC i altres detalls:

1: lo: <LOOPBACK,UP,LOWER_UP> 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: eno1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN mode DEFAULT group default qlen 1000
    link/ether 94:c6:f8:a7:d7:30 brd ff:ff:ff:ff:ff:ff
3: enp0s31f6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DORMANT group default qlen 1000
    link/ether 38:42:f8:8b:a7:68 brd ff:ff:ff:ff:ff:ff
4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default 
    link/ether 42:02:07:8f:a7:38 brd ff:ff:ff:ff:ff:ff

Com podem veure, en aquest cas, la interfície de xarxa es diu enp0s31f6 i la seva adreça MAC és 38:42:f8:8b:a7:68.

Pot ser important anotar l’adreça MAC en un lloc segur per si necessitem recuperar-la més endavant.

Ara podem procedir a canviar l’adreça MAC.

Atenció! Si fem el canvi en una interfície de xarxa que s’està utilitzant actualment, probablement la connexió de xarxa s’aturarà. Per tant, hem de provar aquest mètode amb una targeta addicional o estar preparats per a que la connexió de xarxa es reinicii.

Pas 2: Canviar l’adreça MAC a Linux

Existeix una eina popular dedicada a canviar adreces MAC (macchanger), o també podem utilitzar l’ordre ip. Veurem com fer-ho en tots dos casos.

Pels que encara utilitzem ifconfig, hem de recordar que oficialment estem vivint en el passat, ja que ara és una de les ordres de Linux obsoletes.

Mètode 1: Canviar l’adreça MAC amb Macchanger

Macchanger és una utilitat senzilla per veure, modificar i manipular adreces MAC per a les targetes d’interfície de xarxa. Està disponible en gairebé tots els sistemes operatius GNU/Linux i la podem instal·lar mitjançant l’instal·lador de paquets de la nostra distribució.

A Arch Linux o Manjaro:

sudo pacman -S macchanger

A Fedora, CentOS, RHEL:

sudo dnf install macchanger

A Debian, Ubuntu, Linux Mint i Kali Linux:

sudo apt install macchanger

Important! Se’ns demanarà que especifiquem si macchanger s’ha de configurar perquè s’executi automàticament cada vegada que s’activa o desactiva un dispositiu de xarxa. Això proporciona una nova adreça MAC sempre que connecteu un cable Ethernet o torneu a habilitar el WiFi.

Configure Macchanger (Not a good idea to run it automatically)

Recomano no executar-lo automàticament tret que realment necessitem canviar la nostra adreça MAC cada vegada. Per tant, triem No (prement la tecla de tabulació) i premem la tecla Enter per continuar.

Com utilitzar Macchanger per canviar l’adreça MAC

Aquí hem de recuperar el nom de la nostra interfície de xarxa. L’hem obtinguda anteriorment al pas 1.

Per assignar qualsevol adreça MAC aleatòria a aquesta targeta de xarxa, executem:

sudo macchanger -r enp0s31f6

Després de canviar l’adreça MAC, ho verifiquem amb l’ordre:

ip addr

Ara veureu que l’adreça MAC ha estat falsificada.

Per canviar l’adreça MAC a un valor específic, especifiquem qualsevol adreça MAC personalitzada mitjançant l’ordre:

macchanger --mac=XX:XX:XX:XX:XX:XX

on XX:XX:XX:XX:XX:XX és la nova adreça MAC que volem canviar.

Finalment, per revertir l’adreça MAC al seu valor de maquinari original, executem l’ordre següent (on l’etiqueta -p fa referència a l’adreça MAC permanent/original del maquinari):

macchanger -p enp0s31f6

Tanmateix, no cal que fem això. Un cop reiniciem el sistema, els canvis es perdran automàticament i l’adreça MAC real es restaurarà de nou.

Sempre podem consultar la pàgina man de macchanger per obtenir més detalls.

Mètode 2: Canviar l’adreça de Mac amb iproute2 [coneixements intermedis]

Recomanaria utilitzar Macchanger, però si no el voleu utilitzar, hi ha una altra manera de canviar l’adreça MAC a Linux.

Primer, desactivem la targeta de xarxa mitjançant l’ordre:

sudo ip link set dev enp0s31f6 down

A continuació, configurem la nova MAC per a la targeta de xarxa mitjançant l’ordre:

sudo ip link set dev enp0s31f6 address XX:XX:XX:XX:XX:XX

Finalment, tornem a activar la xarxa amb aquesta ordre:

sudo ip link set dev enp0s31f6 up

Ara, verifiquem la nova adreça MAC:

ip link show enp0s31f6

Ja està. Hem canviat correctament l’adreça MAC a l’estil Linux real.