Maison  >  Article  >  Tutoriel système  >  Comment randomiser votre adresse MAC WiFi dans Ubuntu 16.04

Comment randomiser votre adresse MAC WiFi dans Ubuntu 16.04

王林
王林avant
2024-03-09 10:43:23547parcourir

Ubuntu 16.04 下随机化你的 WiFi MAC 地址的方法

Le défaut de cette conception est son caractère unique, l'adresse MAC inchangée peut être utilisée pour vous suivre. Connecté au WiFi Starbucks ? OK, remarqué. Dans le métro de Londres ? Enregistrez-le aussi.

Si vous avez déjà saisi votre vrai nom sur une page de vérification WiFi, vous vous êtes associé à cette adresse MAC. Sans lire attentivement les conditions de service de la licence, vous pourriez supposer que le WiFi gratuit dans les aéroports profite de la vente de ce que l'on appelle les « données d'analyse client » (vos informations personnelles). À vendre aux hôtels, restaurants et à toute personne souhaitant vous connaître.

Je ne voulais pas que les informations soient enregistrées et vendues à plusieurs entreprises, j'ai donc passé quelques heures à trouver une solution.

L'adresse MAC n'est pas toujours la même

Heureusement, il est possible de générer aléatoirement une fausse adresse MAC sans déconnecter le réseau.

Je souhaite générer mon adresse MAC de manière aléatoire, mais il y a trois conditions :

  1. Les adresses MAC sont différentes selon les réseaux. Cela signifie que mon adresse MAC chez Starbucks et sur le réseau du métro de Londres n'est pas la même, ce qui rend impossible de lier mon activité entre différents prestataires de services.
  2. L'adresse MAC doit être changée fréquemment pour que personne sur le réseau ne sache que je suis la même personne qui est passée ici 75 fois l'année dernière.
  3. L'adresse MAC doit rester inchangée tout au long de la journée. Lorsque l'adresse MAC change, la plupart des réseaux vous déconnectent et doivent ensuite accéder à une page de vérification pour vous reconnecter - ce qui est ennuyeux.
OpérationGestionnaire de réseau

Ma première tentative consistait à utiliser un outil appelé macchanger, mais cela a échoué. Parce que NetworkManagerNetworkManager restaurera l'adresse MAC par défaut selon ses propres paramètres.

J'ai appris que Network Manager 1.4.1 ou supérieur peut générer automatiquement des adresses MAC aléatoires. Si vous utilisez la version Ubuntu 17.04, vous pouvez le faire sur la base de ce fichier de configuration. Mais cela ne répond pas entièrement à mes trois exigences (vous devez choisir entre randomrandom et stable, mais il n'y a pas d'option pour rester le même pendant une journée)

Étant donné que j'utilise Ubuntu 16.04 et que la version du gestionnaire de réseau est la 1.2, je ne peux pas utiliser directement la nouvelle fonctionnalité de la version supérieure. Peut-être que le gestionnaire de réseau prend en charge une méthode de randomisation, mais je n'ai pas réussi. J'ai donc écrit un script pour y parvenir.

Heureusement, Network Manager 1.2 permet l'émulation des adresses MAC. Vous pouvez voir l'option « Modifier la connexion » dans le réseau connecté.

Network Manager prend également en charge le traitement des hooks - tout script situé dans /etc/NetworkManager/dispatcher.d/pre-up.d/ sera exécuté avant que la connexion réseau ne soit établie.

Attribuer une fausse adresse MAC générée aléatoirement
Je souhaite générer une nouvelle adresse MAC aléatoire en fonction de l'ID du réseau et de la date. Nous pouvons utiliser l'outil de ligne de commande nmcli du gestionnaire de réseau pour afficher tous les réseaux disponibles :

ifconfig
> nmcli connection
NAME UUID TYPE DEVICE
Gladstone Guest 618545ca-d81a-11e7-a2a4-271245e11a45 802-11-wireless wlp1s0
DoESDinky 6e47c080-d81a-11e7-9921-87bc56777256 802-11-wireless --
PublicWiFi 79282c10-d81a-11e7-87cb-6341829c2a54 802-11-wireless --
virgintrainswifi 7d0c57de-d81a-11e7-9bae-5be89b161d22 802-11-wireless --
Étant donné que chaque réseau possède un identifiant unique (UUID), pour mettre en œuvre mon plan, j'ai concaténé l'UUID et la date ensemble, puis j'ai utilisé MD5 pour générer la valeur de hachage :

ifconfig
# eg 618545ca-d81a-11e7-a2a4-271245e11a45-2017-12-03
> echo -n "${UUID}-$(date +%F)" | md5sum
53594de990e92f9b914a723208f22b3f -
Le résultat généré peut remplacer les huit derniers octets de l'adresse MAC.

Il est à noter que le premier octet 02 signifie que cette adresse est auto-spécifiée. En fait, les trois premiers octets de la véritable adresse MAC sont déterminés par le fabricant, par exemple b4:b6:76 représente Intel.

Il est possible que certains routeurs rejettent l'adresse MAC qu'ils spécifient, mais je n'ai pas encore rencontré cela.

Chaque fois que vous vous connectez à un réseau, ce script utilise nmcli pour spécifier une pseudo-adresse MAC générée aléatoirement.

Enfin, j'ai vérifié la sortie de ifconfig et j'ai découvert que l'adresse MAC HWaddr était devenue une adresse générée aléatoirement (émulant celle d'Intel) au lieu de ma véritable adresse MAC.

> ifconfig
wlp1s0 Link encap:Ethernet HWaddr b4:b6:76:45:64:4d
inet addr:192.168.0.86 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::648c:aff2:9a9d:764/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:12107812 errors:0 dropped:2 overruns:0 frame:0
TX packets:18332141 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:11627977017 (11.6 GB) TX bytes:20700627733 (20.7 GB)
script
Le script complet peut également être consulté sur Github.

Mise à jour : utilisez votre propre adresse MAC désignée pour éviter tout conflit avec la véritable adresse Intel. Merci @_fink


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer