Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 12/11/2008, à 22: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, à 21:04

qu3nt1n

Re : Un script pour changer aléatoirement son adresse MAC

Salut,
Sa c'est cool Merci wink
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 14/11/2008, à 00:38

Goldy

Re : Un script pour changer aléatoirement son adresse MAC

qu3nt1n a écrit :

Salut,
Sa c'est cool Merci wink
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 tongue

Hors ligne

#4 Le 17/01/2009, à 16: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, à 03: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, à 03:56

Sam-sam-sam

Re : Un script pour changer aléatoirement son adresse MAC

Sam-sam-sam a écrit :

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, à 18:46

cervo

Re : Un script pour changer aléatoirement son adresse MAC

#!/bin/bash

du bash tongue

Hors ligne

#8 Le 26/02/2009, à 05: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, à 12: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, à 14:04

Qid

Re : Un script pour changer aléatoirement son adresse MAC

Gwutu a écrit :

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 smile

pourquoi pas -A ?

et quelle est la diférence avec le script proposé sur le premier post ?

#11 Le 04/06/2009, à 00: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, à 01:03

Koon

Re : Un script pour changer aléatoirement son adresse MAC

allo a écrit :

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, à 16: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, à 16: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 22.04.3 sur portable et 23.10 sur fixe

Hors ligne

#15 Le 04/06/2009, à 18:40

Koon

Re : Un script pour changer aléatoirement son adresse MAC

jnq a écrit :

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 ! lol

Hors ligne

#16 Le 04/06/2009, à 19: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, à 19:30)


Ubuntu 22.04.3 sur portable et 23.10 sur fixe

Hors ligne

#17 Le 04/06/2009, à 20:03

Koon

Re : Un script pour changer aléatoirement son adresse MAC

jnq a écrit :

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, à 20: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, à 21:02

Koon

Re : Un script pour changer aléatoirement son adresse MAC

Zakhar a écrit :

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 05/06/2009, à 00: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, à 01:49

Koon

Re : Un script pour changer aléatoirement son adresse MAC

allo a écrit :

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, à 19: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


dwito a écrit :

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, à 20: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. smile
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, à 17:09

pamputt

Re : Un script pour changer aléatoirement son adresse MAC

The_Tito a écrit :
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, à 15: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