#1 Le 12/11/2008, à 21:51
- Goldy
Un script pour changer aléatoirement son adresse MAC
Bonjour,
Je vous propose aujourd'hui un petit script bien utile aux utilisateurs de PC portable qui se connectent dans des hotspot publiques et qui craignent pour le respect de leur vie privé (c'est important).
Ce script permet donc de changer aléatoirement et automatiquement l'adresse MAC d'une interface réseau donné. L'utilisation est intuitive et interactive par la console.
Voici le script :
#!/bin/bash
#Script Random Adress MAC generator
#Copyright Goldy 2008 - GPL3
#### Initialisation des variables ###
compte=0
ok=not
version=0.1
#### Configuration ####
# Interface (eth0, eth1, wlan0...)
interface=wlan0
#Adresse mac d'origine
originalmac="00:1b:77:2b:61:56"
#### Fonctions ####
#Fonction d'intérogation
asking () {
echo "Veuillez sélectionner une option :"
echo ""
echo " 1. Changer l'adresse mac aléatoirement"
echo " 2. Restaurer l'adresse mac matériel"
echo " 3. Annuler"
read reponse
}
#Fonction de vérification de ROOT
if [ $USER = root ]
then echo "Vous êtes root"
else
echo "Vous n'êtes pas root, execution du script en sudo"
sudo $0
exit
fi
#Générateur d'adresse mac
macadress () {
#Générateur d'aléatoire hexadécimal
randomhexa () {
#Fonction générateur de nombre
random () {
min=16
max=255
divisiblePar=1
spread=$((max-min))
random_binary=$(((RANDOM%(max-min+1)+min)/divisiblePar*divisiblePar))
}
#Convertisseur Hexadecimal
hexadecimal () {
base=16
echo ""$1" "$base" o p" | dc
return
}
fonc_hexa=`random && hexadecimal $random_binary`
}
#Ouuuuh ce que c'est moche de faire comme ça
ad1=00
randomhexa
ad2=$fonc_hexa
randomhexa
ad3=$fonc_hexa
randomhexa
ad4=$fonc_hexa
randomhexa
ad5=$fonc_hexa
randomhexa
ad6=$fonc_hexa
random_mac_address="$ad1:$ad2:$ad3:$ad4:$ad5:$ad6"
}
#Fonction de changement d'adresse mac
mac_change () {
echo "Désactivation de l'interface réseau $interface"
if ifconfig $interface down
then
echo "Interface $interface désactivée"
sleep 1
echo "Changement de l'adresse MAC"
if ifconfig $interface hw ether $mac_address
then
echo "L'adresse MAC de l'interface $interface été modifié"
echo "Nouvelle adresse : $mac_address"
sleep 1
echo "Activation de l'interface réseau $interface"
if ifconfig $interface up
then
echo "L'interface $interface a été réactivé et est prète à l'emploie"
error=0
else
echo "ERREUR : L'interface $interface n'a pas pu être réactivé"
error=1
fi
else
echo "ERREUR : L'adresse MAC n'a pas pu être modifié"
error=1
sleep 2
echo "Tentative de réactivation de l'interface $interface"
if ifconfig $interface up
then
echo "L'interface $interface a été réactivé sans changement d'adresse MAC"
else
echo "ERREUR : L'interface $interface n'a pas pu être réactivé"
error=1
fi
fi
else
echo "ERREUR : Impossible de désactiver l'interface $interface"
error=1
fi
}
#### Execution ####
echo "Bienvenue dans le programme de changement d'adresse MAC d'Aperture Science"
echo ""
echo ""
asking
until [ $ok = ok ]
do
if [ $reponse = 1 ]
then
ok=ok
macadress
mac_address=$random_mac_address
mac_change
echo "L'execution du script s'autodétruira dans 10 sec"
sleep 10
exit $error
elif [ $reponse = 2 ]
then
ok=ok
mac_address=$originalmac
mac_change
echo "L'execution du script s'autodétruira dans 10 sec"
sleep 10
exit $error
elif [ $reponse = 3 ]
then
echo "Abbandon..."
sleep 2
exit 0
else
echo "FAGGOT! Répondez correctement à la question s'il-vous-plaît."
asking
fi
done
Il y aura quelques petites choses à configurer dedans pour une utilisation optimale.
Dans la section configuration vous devez configurer les deux variables $interface et $originalmac.
Pour l'interface il faut choisir l'interface réseau (en règle générale, le wifi c'est wlan0, mais ça peut changer d'une machine à l'autre).
Pour le savoir faites ifconfig -a en commande et regardez ce que vous avez.
Et pour l'adresse mac d'origine, il faut aussi faire ifconfig -a et entrer l'adresse mac correspondante à l'interface que vous avez configuré.
Note : L'adresse mac n'est pas changé définitivement, et un reboot de votre machine la restaure sur sa valeur matériel.
Attention toutefois avec les accès payant. En testant le script j'ai perdu mon accès web chez ozone (temporairement je l'espère), car ça devait penser qu'on était plusieurs à utiliser le même compte.
Voilà, ce script est simple et fonctionnel, si vous y trouvez des bugs, merci de laisser vos messages sur ce thread.
Hors ligne
#2 Le 13/11/2008, à 20:04
- qu3nt1n
Re : Un script pour changer aléatoirement son adresse MAC
Salut,
Sa c'est cool Merci
Allé @+
qu3nt1n
<iframe src="http://www.ubuntu.com/files/countdown/904/countdown-9.04-1/countdown.html" width="180" height="150" frameborder="0" scrolling="no" name="ubuntucountdown"><a href="http://www.ubuntu.com/"><img src="http://www.ubuntu.com/files/countdown/904/countdown-9.04-1/00.png" alt="Ubuntu 9.04 - on desktops, netbooks, servers and in the cloud" width="180" height="150" border="0" /></a></iframe>
Hors ligne
#3 Le 13/11/2008, à 23:38
- Goldy
Re : Un script pour changer aléatoirement son adresse MAC
Salut,
Sa c'est cool Merci
Allé @+
qu3nt1n
En règle générale, personne ne dit rien quand je poste un script, alors ça me fait plaisir que quelqu'un le fasse
Hors ligne
#4 Le 17/01/2009, à 15:01
- dwito
Re : Un script pour changer aléatoirement son adresse MAC
Salut Goldy
Avant tout, merci pour ce script, ça fait un moment que je cherchais à faire ça.
Cependant, l'adresse mac renvoyée est systématiquement 00:10:10:10:10:10 , je n'ai pourtant pas modifié le script, hormis la variable 'interface', et je ne pense pas que ça vienne de là. Le reste fonctionne parfaitement.
Suis-je le seul dans cette situation ?
D'avance merci
Dwito
#5 Le 17/02/2009, à 02:54
- Sam-sam-sam
Re : Un script pour changer aléatoirement son adresse MAC
Bonjour,
Excusez moi je suis tout nouveau, comment on fait pour faire fonctionner ce script?
J'ai créé un fichier vièrge et j'ai collé le code, ensuite j'ai rendu le fichier exécutable mais ça ne fontcionne pas . merci.
Hors ligne
#6 Le 17/02/2009, à 02:56
- Sam-sam-sam
Re : Un script pour changer aléatoirement son adresse MAC
Bonjour,
Excusez moi je suis tout nouveau, comment on fait pour faire fonctionner ce script?
J'ai créé un fichier vièrge et j'ai collé le code, ensuite j'ai rendu le fichier exécutable mais ça ne fontcionne pas . merci.
Bon bah j'ai trouvé, fallait exécuter le script dans la console
merci beaucoup pour ce script dont je ne comprend rien, par curiosité, c'est quoi comme langage?
Hors ligne
#7 Le 17/02/2009, à 17:46
- cervo
Re : Un script pour changer aléatoirement son adresse MAC
#!/bin/bash
du bash
Hors ligne
#8 Le 26/02/2009, à 04:23
- Gwutu
Re : Un script pour changer aléatoirement son adresse MAC
apt-get install macchanger
GNU MAC Changer
Usage: macchanger [options] device
-h, --help Print this help
-V, --version Print version and exit
-s, --show Print the MAC address and exit
-e, --endding Don't change the vendor bytes
-a, --another Set random vendor MAC of the same kind
-A Set random vendor MAC of any kind
-r, --random Set fully random MAC
-l, --list[=keyword] Print known vendors
-m, --mac=XX:XX:XX:XX:XX:XX Set the MAC XX:XX:XX:XX:XX:XX
-a à retenir :)
#9 Le 27/02/2009, à 11:09
- dwito
Re : Un script pour changer aléatoirement son adresse MAC
Super, 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
#10 Le 27/02/2009, à 13:04
- Qid
Re : Un script pour changer aléatoirement son adresse MAC
apt-get install macchanger
GNU MAC Changer
Usage: macchanger [options] device-h, --help Print this help
-V, --version Print version and exit
-s, --show Print the MAC address and exit
-e, --endding Don't change the vendor bytes
-a, --another Set random vendor MAC of the same kind
-A Set random vendor MAC of any kind
-r, --random Set fully random MAC
-l, --list[=keyword] Print known vendors
-m, --mac=XX:XX:XX:XX:XX:XX Set the MAC XX:XX:XX:XX:XX:XX-a à retenir
pourquoi pas -A ?
et quelle est la diférence avec le script proposé sur le premier post ?
#11 Le 03/06/2009, à 23:54
- allo
Re : Un script pour changer aléatoirement son adresse MAC
slt tou lmonde est ce ke kelk1 peu maider ,là g un vrai pb,o fait je configure un nouveau protocole en modifian le mac802-11 sou ns2 é g besoin dun script pr executer le mac...merci à vs..jaten votre reponse..:(
#12 Le 04/06/2009, à 00:03
- Koon
Re : Un script pour changer aléatoirement son adresse MAC
slt tou lmonde est ce ke kelk1 peu maider ,là g un vrai pb,o fait je configure un nouveau protocole en modifian le mac802-11 sou ns2 é g besoin dun script pr executer le mac...merci à vs..jaten votre reponse..:(
Gh rf yr pnapre dhv ghr vagrearg. Snvg ha rssbeg cbhe dh'ba chvffr gr pbzceraqer...
Hors ligne
#13 Le 04/06/2009, à 15:14
- Vergeylen
Re : Un script pour changer aléatoirement son adresse MAC
'allo' si tu espères communiquer avec les gens de ce forum, il y a une charte à respecter : http://forum.ubuntu-fr.org/misc.php?action=rules
Merci à Goldy et Gwutu pour cette façon changement de Mac adresse, à avoir dans sa boite à outils.
Hors ligne
#14 Le 04/06/2009, à 15:20
- jnq
Re : Un script pour changer aléatoirement son adresse MAC
Bonjour, et c'est comme cela que vous foutrez la merde dans un plan d'adressage dhcp d'un opérateur. Et que vous créez des conflits d'adresse ip.
Si après vous vous faite éjecter du réseau ou que vous avez des problèmes avec l'opérateur il ne faudra pas être surpris !
Ubuntu 24.04.1 LTS
Hors ligne
#15 Le 04/06/2009, à 17:40
- Koon
Re : Un script pour changer aléatoirement son adresse MAC
Bonjour, et c'est comme cela que vous foutrez la merde dans un plan d'adressage dhcp d'un opérateur. Et que vous créez des conflits d'adresse ip.
Si après vous vous faite éjecter du réseau ou que vous avez des problèmes avec l'opérateur il ne faudra pas être surpris !
C'était le coup de gueule de l'admin réseau !
Hors ligne
#16 Le 04/06/2009, à 18:25
- jnq
Re : Un script pour changer aléatoirement son adresse MAC
Bonsoir pauvre inconscient. Sais-tu que les conflits d'adresse ip remonte jusqu'au nodal des opérateurs et son immédiatement enregistré et localisé ? Que ce passe-t-il ensuite surtout si il y a récidive ? Relisez bien les conditions générales de vente que vous avez accepté en vous abonnant à votre fai favoris.
Si vous n'avez plus d'abonnement après vous ne devrez pas être surpris.
Dernière modification par jnq (Le 04/06/2009, à 18:30)
Ubuntu 24.04.1 LTS
Hors ligne
#17 Le 04/06/2009, à 19:03
- Koon
Re : Un script pour changer aléatoirement son adresse MAC
Bonsoir pauvre inconscient. Sais-tu que les conflits d'adresse ip remonte jusqu'au nodal des opérateurs et son immédiatement enregistré et localisé ? Que ce passe-t-il ensuite surtout si il y a récidive ? Relisez bien les conditions générales de vente que vous avez accepté en vous abonnant à votre fai favoris.
Bonsoir admin réseau qui pousse des coups de gueules. Dans les conditions générales d'utilisations, il rarement marqué qu'on n'ait pas le droit d'utiliser plusieurs appareils différents tant que ces derniers ne sont utilisés en même temps (c'est d'ailleurs comme ceci qu'est interprété le fait de se connecté avec une adresse mac différente).
De plus, le principe s'applique plus pour les hot spot publiques et gratuit que pour ceux auquel tu es abonné.
Bref, je peux comprendre que ça fasse RAAAGE un admin réseau que certain s'octroie le droit de changer son adresse mac pour évité que son utilisation du réseau soit tracée, mais sache que ça fait partie de la liberté de chacun que de s'octroyer un peu d'anonymat avec les moyens qui lui sont disponible sans que ça tourne au hacking.
Hors ligne
#18 Le 04/06/2009, à 19:35
- Zakhar
Re : Un script pour changer aléatoirement son adresse MAC
Je pense que jnq s'est mal exprimé.
Il visait certainement l'usurpation d'adresse Mac.
Exemple : mon voisin me chipe mon adresse Mac et se connecte à ma borne. Du coup le DHCP (si j'ai mis un bail permanent) lui attribue une IP donnée. Ensuite, lorsque je me connecte, le DHCP risque de m'attribuer la même adresse IP.... et là BING-BADABOUM !
Mais bon, en principe ce n'est que mon réseau local qui va casser.
Si quelqu'un s'amuse à faire ça en entreprise... c'est sûr que là ça fait plus mal.
Changer l'adresse IP de ma box est inopérant (du moins chez Free qui est "sérieux) car
- d'une la Freebox bien que sous Linux n'est pas ouverte à ce genre de bricolage
- si je le faisais, le DSLAM me refuserait la connexion, comme lorsque je connecte ma Freebox chez mon voisin freenaute.
"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)
Hors ligne
#19 Le 04/06/2009, à 20:02
- Koon
Re : Un script pour changer aléatoirement son adresse MAC
Je pense que jnq s'est mal exprimé.
Il visait certainement l'usurpation d'adresse Mac.
Exemple : mon voisin me chipe mon adresse Mac et se connecte à ma borne. Du coup le DHCP (si j'ai mis un bail permanent) lui attribue une IP donnée. Ensuite, lorsque je me connecte, le DHCP risque de m'attribuer la même adresse IP.... et là BING-BADABOUM !
Mais bon, en principe ce n'est que mon réseau local qui va casser.
Si quelqu'un s'amuse à faire ça en entreprise... c'est sûr que là ça fait plus mal.Changer l'adresse IP de ma box est inopérant (du moins chez Free qui est "sérieux) car
- d'une la Freebox bien que sous Linux n'est pas ouverte à ce genre de bricolage
- si je le faisais, le DSLAM me refuserait la connexion, comme lorsque je connecte ma Freebox chez mon voisin freenaute.
Oui, effectivement, là on rentre dans l'usurpation d'adresse mac, mais le premier script qui a été posté ne propose que la possibilité de la modifier par une adresse totalement aléatoire, et les chances pour que l'adresse mac générée aléatoirement soit la même qu'un autre appareil utilisé sur le réseau est extrêmement faible (tellement faible que je pense qu'on a plus de chance de gagner au loto que ça arrive en vrai).
Hors ligne
#20 Le 04/06/2009, à 23:39
- allo
Re : Un script pour changer aléatoirement son adresse MAC
bonsoir tout le monde,tout d'abord je m'exuse j'ai pas lu les régles c vrai au faite je suis toute nouvelle ici donc...si vous m'avez pas compris je vous explique::donc voila moi j'ai un projet à préparer,je dois configurer un nouveau protocole qui est le LKmac sous NS2(2.33) c'est tout nouveau et ceci en modifiant le code source du mac802.11,là j'ai terminer la modification é j'ai trouver aucune erreur (normalement)je suis pa encore sur de ma modification donc pour pouvoir simuler tou sa et voir ce ke sa a donné il me faut un script et j'ai trouver que des script pour aodv é non pas pour mac donc svp si quelqu'un peut maider...merci à vous d'avance..
#21 Le 05/06/2009, à 00:49
- Koon
Re : Un script pour changer aléatoirement son adresse MAC
bonsoir tout le monde,tout d'abord je m'exuse j'ai pas lu les régles c vrai au faite je suis toute nouvelle ici donc...si vous m'avez pas compris je vous explique::donc voila moi j'ai un projet à préparer,je dois configurer un nouveau protocole qui est le LKmac sous NS2(2.33) c'est tout nouveau et ceci en modifiant le code source du mac802.11,là j'ai terminer la modification é j'ai trouver aucune erreur (normalement)je suis pa encore sur de ma modification donc pour pouvoir simuler tou sa et voir ce ke sa a donné il me faut un script et j'ai trouver que des script pour aodv é non pas pour mac donc svp si quelqu'un peut maider...merci à vous d'avance..
Je pense sincèrement que tu devrais aller faire un tour du coté du forum programmation. Je suis pas certain que tu trouveras l'aide nécessaire ici.
Parce que le sujet de ce topic n'a absolument rien à voir ton problème (mais vraiment rien du tout).
Hors ligne
#22 Le 07/06/2009, à 18:36
- The_Tito
Re : Un script pour changer aléatoirement son adresse MAC
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
Super, 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
Hors ligne
#23 Le 06/08/2010, à 19:34
- Vinvin2021
Re : Un script pour changer aléatoirement son adresse MAC
Tiens ! Je ne suis pas le seul à m'intéresser à ce problème.
Pour information, voici mon script de modification de l'adresse MAC. Le script fonctionne de la façon suivante : il génère une adresse MAC aléatoire et essaie de l'attribuer à l'interface réseau.
==> Si cette attribution échoue, VARIABLE prend une valeur différente de zéro ; le script génère une nouvelle MAC aléatoire et recommence.
==> Si cette attribution réussit, VARIABLE prend la valeur zéro ; le script se termine.
#!/bin/bash
# Définition de l'interface :
IFACE=eth0
# Initialisation de la variable de contrôle :
VARIABLE=1
while [ $VARIABLE != 0 ]
do FAUSSE_MAC=$(hexdump -n 6 -e '3/1 ":%x"' /dev/urandom | cut -b 2-20)
echo -n "Tentative d'attribution de la fausse adresse MAC : ";
echo -n $FAUSSE_MAC;
ip link set $IFACE address $FAUSSE_MAC 2>/dev/null
VARIABLE=$?;
if [ $VARIABLE != 0 ];
then echo " ... Échec.";
else echo " ... Succès !";
fi;
done;
exit 0;
Hors ligne
#24 Le 17/10/2010, à 16:09
- pamputt
Re : Un script pour changer aléatoirement son adresse MAC
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 ;;
Bonjour, je regarde attentivement ce morceau de code mais je ne comprends pas à quoi sert cette partie
if ifup -a; then
log_action_end_msg $?
else
log_action_end_msg $?
fi
Quelqu'un pourrait m'éclairer ?
Hors ligne
#25 Le 21/10/2010, à 14:41
- remi82
Re : Un script pour changer aléatoirement son adresse MAC
Bonjour à vous.
Et merci pour ces codes. Même si j'en ai pas l'utilité, je trouve ça sympa de pouvoir le faire.
Merci
Hors ligne