Macchanger, l'outil que nous allons utiliser pour changer l'adresse MAC dans cet article, a un service qui vous demande si vous voulez changer votre MAC à chaque démarrage de votre ordinateur, mais cela ne fonctionne pas pour moi sur Ubuntu 18.04. Étant donné que toute modification apportée par Macchanger sera réinitialisée lorsque vous redémarrez votre système, cet article fournit des instructions sur la façon de créer une unité systemd pour exécuter Macchanger automatiquement lorsque votre ordinateur Linux démarre, en changeant l'adresse MAC à chaque fois.
Pour utiliser ce guide, votre système Linux doit utiliser systemd , apparemment.
1. Installer Macchanger
Macchanger devrait se trouver dans les dépôts des principales distributions Linux. Pour l'installer dans Debian / Ubuntu / Linux Mint, utilisez :
sudo apt install macchanger
2. Déterminez l'interface réseau dont vous souhaitez modifier l'adresse MAC
Vous pouvez utiliser la commande suivante pour ce faire :
ifconfig -a
Si vous utilisez un système où cela a cessé de fonctionner, vous pouvez exécuter cette commande à la place :
ip link show
Vos interfaces réseau doivent maintenant s'afficher comme suit :
- Au
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
- Au
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
Voici l'interface réseau filaire enp10s0
et l'interface réseau sans fil est wlp3s0
(avant, eth0
, 1 etc. a été utilisé pour les interfaces filaires, et wlan0
, 1 etc. pour WLAN). Notez l'interface réseau pour laquelle vous souhaitez usurper l'adresse MAC.
3. Vérifiez si Macchanger fonctionne réellement sur votre système
Avant de créer l'unité systemd pour changer automatiquement l'adresse MAC à chaque redémarrage, vérifiez que Macchanger peut réellement changer votre adresse MAC (j'ai vu des cas où cela ne fonctionne pas pour une raison quelconque). Pour modifier temporairement votre adresse MAC (la modification sera réinitialisée après un redémarrage du système), exécutez Macchanger comme suit :
sudo macchanger -r NETWORK-INTERFACE
NETWORK-INTERFACE
est l'interface réseau pour laquelle vous souhaitez modifier le MAC comme indiqué à l'étape 2 de cet article (par exemple, enp10s0, wlp3s0).
Si Macchanger fonctionne, c'est bien celui-ci -r
L'option doit changer le MAC en une adresse MAC aléatoire et la commande doit renvoyer l'adresse MAC d'origine et la nouvelle.
4. Créez une unité systemd pour exécuter Macchanger automatiquement à chaque démarrage du système (cela signifie que l'adresse MAC change à chaque démarrage du système)
Nous créons le /etc/systemd/system/[email protected]
fichier d'unité systemd et ouvrez-le en tant que root avec un éditeur de texte :
sudo touch /etc/systemd/system/[email protected]
gedit admin:///etc/systemd/system/[email protected]
Si Gedit n'est pas installé, remplacez-le dans la commande ci-dessus par un autre éditeur de texte installé sur votre système.
Collez ce qui suit dans le [email protected]
Fichier :
[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
L'unité systemd est utilisée macchanger -r
pour changer le MAC. -r
définit une adresse MAC complètement aléatoire. Vous pouvez modifier -r
à -e
pour changer le MAC mais conserver les octets d'origine du fabricant de la carte réseau, -a
pour mettre des MAC de fabricants aléatoires du même type, et ainsi de suite. Vous pouvez voir toutes les options disponibles en procédant comme suit :
macchanger --help
Vous pouvez également définir une adresse MAC personnalisée et non aléatoire. Pour cela, modifiez le ExecStart=/usr/bin/macchanger -r %I
Ligne comme ceci :
ExecStart=/usr/bin/macchanger --mac=XX:XX:XX:XX:XX:XX %I
Remplacez XX:XX:XX:XX:XX:XX
avec la nouvelle adresse MAC.
5. Activer le service systemd Macchanger
Il est maintenant temps d'activer le service systemd pour qu'il démarre au démarrage. Pour ce faire, utilisez :
sudo systemctl enable [email protected]enp10s0.service
Remplacez enp10s0
avec l'adresse réseau de l'étape 2.
Vous pouvez utiliser la même commande pour activer le changement d'adresse MAC pour plusieurs interfaces réseau.
6. Redémarrez le système
Votre ou vos interfaces réseau doivent maintenant avoir une nouvelle adresse MAC. Pour plus d'informations sur la vérification de l'ancienne (d'origine) et de la nouvelle adresse MAC, voir ci-dessous.
Comment vérifier les adresses MAC originales et nouvelles
Macchanger peut être utilisé pour trouver l'adresse MAC d'origine et la nouvelle adresse MAC en exécutant cette commande :
macchanger -s NETWORK-INTERFACE
Où NETWORK-INTERFACE
est l'interface réseau que vous avez trouvée à l'aide des commandes de l'étape 2.
Exemple :
$ macchanger -s enp10s0
Current MAC: 1d:21:da:ab:1d:71 (unknown)
Permanent MAC: 72:ab:3d:89:88:88 (Intel Corporate)
Comment désactiver la modification du MAC à chaque redémarrage à l'aide de systemd
Pour annuler les modifications, désactivez d'abord le ou les services de changeur MAC systemd :
sudo systemctl disable [email protected]enp10s0.service
Remplacez enp10s0
avec l'adresse réseau de l'étape 2 (d'après les instructions pour la configuration initiale). Effectuez cette opération pour chaque interface réseau pour laquelle vous avez précédemment activé le service.
Vous pouvez maintenant supprimer le fichier de service systemd du changeur MAC :
sudo rm /etc/systemd/system/[email protected]