Bonjour,
Merci pour le script Goldy
Pour générer des nombres aléatoire compris entre 1 2 3 4 5 6 7 8 9 A B C D E F j'utilise le code suivant
hexa=("0" "1" "2" "3" "4" "5" "6" "7" "8" "9" 'a' 'b' 'c' 'd' 'e' 'f');
${hexa[$((RANDOM % 16))]}
Je ne sais pas que ca vaut, si c'est mieux ou moins bien que t'as fonction randomhexa
dwito a écritSuper, merci Gwutu
du coup le script de démarrage serait :
à placer dans /etc/rc.local
#!/bin/bash
sudo ifconfig eth*** down ;
sudo macchanger -a eth*** ;
sudo ifconfig eth*** up ;
exit 0 ;
remplacer eth*** par votre interface
c'est correct ?
Merci
Je pense qu'on peut faire plus propre en éditant directement le service /etc/init.d/networking
En effet, lorsque le système demarre, celui-ci lance /etc/init.d/networking start
Par conséquence, Il suffit de modifier la partie start) du case du fichier /etc/init.d/networking pour changer notre adresse mac avant même de lancer les interfaces
Avant de commencer on fait une sauvegarde du fichier networking sous le nom networking_bak
sudo cp /etc/init.d/{networking,networking_bak}
On rentre dans le fichier networking
gksu gedit /etc/init.d/networking
Une fois dans /etc/init.d/networking, on modifie la partie start) de cette façon
case "$1" in
start)
process_options
log_action_begin_msg "Configuring network interfaces"
macchanger -a eth0 &> /dev/null # Changement address mac au lancement du service network
if ifup -a; then
log_action_end_msg $?
else
log_action_end_msg $?
fi
;;
On sauvegarde les modifications, pour tester, il faut arrêter networking et le relancer (seule la commande /etc/init.d/networking start change l'adresse mac /etc/init.d/networking restart ne fonctionnera pas )
sudo /etc/init.d/networking stop && sudo /etc/init.d/networking start
l'adresse mac devrait être modifier
Si vous avez un problème on retourne a la version antérieure du fichier networking
sudo cp /etc/init.d/{networking_bak,networking}
Remarque :
On peut encore aller plus loin, on rajouter une option au service /etc/init.d/networking pour restaurer notre addresse mac d'origine
Pour cela, a la fin du fichier avant *)
on entre les lignes suivantes
restore)
log_action_begin_msg "Restauration des adresses mac original"
if ifdown -a --exclude=lo; then
ifconfig eth0 hw ether "MONADDMAC"
ifup -a --exclude=lo
log_action_end_msg $?
else
log_action_end_msg $?
fi
;;
Remplacer MONADDMAC par l'adresse mac de votre carte réseau originale exemple 00:04:34:43:xx:xx
Pour tester, il suffit de lancer la commande /etc/init.d/networking restore
Cela fonctionne sur ma debian, j'imagine que cela fonctionne également sous Ubuntu