2 votes

Fausser l'adresse MAC de manière persistante

Donc j'aime définir une nouvelle adresse MAC générée aléatoirement après chaque redémarrage en utilisant

ruby -e 'print ("%02x"%((rand 64)*4|2))+(0..4).inject(""){|s,x|s+":%02x"(rand 256)} + "\n"'

puis copier/coller la sortie après la commande

sudo ifconfig en0 ether

afin d'obtenir une nouvelle adresse IP de mon FAI chaque jour. J'aimerais automatiser davantage ce processus de manière à ce que mon ordinateur lance automatiquement ces deux commandes au démarrage, mais je ne connais pas suffisamment la syntaxe de l'interface en ligne de commande pour y parvenir. Comment puis-je combiner ces deux commandes pour que ifconfig utilise la sortie générée de la commande ruby en une seule étape ? Et ensuite, comment puis-je faire en sorte que cela s'exécute automatiquement au démarrage ?

Merci.

1voto

Fuzzy Purple Monkey Points 702

Exécutez EDITOR=nano sudo crontab -e et ajoutez une ligne comme celle-ci :

@reboot ifconfig en0 ether $(printf \%02x $(($RANDOM\%128*2)))$(head -c4 /dev/random|hexdump -v -e '/1 ":\%02x"')

Les commandes planifiées par @reboot s'exécutent après le redémarrage ou l'allumage de l'ordinateur, mais pas après une déconnexion et une reconnexion. Le code % doit être échappé en \% dans la crontab.

D'après un commentaire sur http://osxdaily.com/2010/11/10/random-mac-address-generator/:

Vous devez faire attention à ce que cela ne génère pas d'adresses MAC multicast, car celles-ci sont techniquement illégales en tant que sources MAC. La définition stricte d'une adresse MAC multicast est une où le bit de poids le moins fort du premier octet est défini sur 1. Donc si le LSB du premier octet est 1 (01, 03, 05, a1, etc.), vous avez techniquement une source MAC multicast. Voir http://en.wikipedia.org/wiki/MAC_address.

L'utilisation des adresses MAC source multicast pourrait ne pas causer immédiatement de problèmes de connectivité, mais a certainement des implications pour les commutateurs apprenant l'adresse MAC empêchant les inondations unicast, et les routeurs permettant à ARP de résoudre.

Par exemple, Cisco n'autorisera pas l'apprentissage des adresses MAC si la source n'est pas unicast, et les routeurs Cisco n'installeront pas d'entrées ARP pour des adresses MAC multicast vers des adresses IP unicast.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X