Tout ou presque sur les logiciels libres, linux, protection de la vie privée... et aussi Humeur!

Aller au contenu | Aller au menu | Aller à la recherche

Changer son adresse MAC sous linux

changer son adresse MAC sous linux avec MacChangerTesté sur ubuntu 14.04

C'est quoi une adresse MAC ?

L'adresse MAC (Media Access Control address) est un identifiant, codé sur 6 octets en hexadécimales (base16). Cette adresse est censée être unique et propre à chaque carte ou périphérique réseau. Exemple d'adresse MAC : 00:1a:92:a8:55:ff

Pour en savoir plus sur ce qu'est une adresse MAC.

Pourquoi changer son adresse MAC ?

Si par exemple un serveur ou hotspots fait du filtrage MAC et vous vous êtes fait blacklister de façon incompréhensible et vous souhaitez vous reconnecter... Changer l'adresse MAC peut être une solution... C'est aussi une solution à d'autres obstacles.

Plusieurs façons de changer votre adresse MAC.

Une façon simple est de le faire à la main :

# ifconfig eth1 hw ether 00:0c:bc:b5:68:6e

Mais avec macchanger on peut faire plus...
Pour modifier l'adresse MAC nous allons faire appel au programme macchanger.
S'il n'est pas installé : apt-get install macchanger

Une fois installé, voyons les options

$ macchanger -h
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,  --ending                 Don't change the vendor bytes
  -a,  --another                Set random vendor MAC of the same kind
  -A                            Set random vendor MAC of any kind
  -p,  --permanent              Reset to original, permanent hardware MAC
  -r,  --random                 Set fully random MAC
  -l,  --list[=keyword]         Print known vendors
 -m,  --mac=XX:XX:XX:XX:XX:XX
       --mac XX:XX:XX:XX:XX:XX  Set the MAC XX:XX:XX:XX:XX:XX

Avant de détailler les options... de quelle interface réseau souhaitez-vous modifier l'adresses MAC ?

- Listez avec "ifconfig" vous verrez (ethX pour les filaires, wlanX pour les wifi) et leur adresse MAC se trouve après Hwaddr.
Pour l'exemple nous allons utiliser eth1.

- Connaître l'adresse MAC permanente et courante de eth1 ainsi que le fabriquant.

$ macchanger -s eth1
Current MAC:   00:0c:bc:b5:68:6e (Iscutum)
Permanent MAC: 00:1a:92:a8:55:ff (Asustek Computer Inc.)

La première ligne est l'adresse que j'ai mis plus haut, la deuxième est celle d'origine.

Les commandes suivantes doivent être lancées avec les droits "root" (sauf l'option -l). Soit vous optez pour "sudo" ou "sudo -s"

- Changer l'adresse MAC sans changer le fabricant. En effet les trois premiers octets de l'adresse MAC identifient le fabricant (pas tout à fait, je vous laisse lire wikipédia, si le sujet vous intéresse)
Avant il faut désactiver la carte par "ifconfig down" eth1 et la réactiver ensuite avec l'option "up"

# ifconfig eth1 down
# macchanger -e eth1
Permanent MAC: 00:1a:92:a8:55:ff (Asustek Computer Inc.)
Current   MAC: 00:1a:92:a8:55:ff (Asustek Computer Inc.)
New       MAC: 00:1a:92:ad:83:0c (Asustek Computer Inc.)
# ifconfig eth1 up

- Revenir à l'adresse MAC d'origine, l'option -p

# ifconfig eth1 down
# macchanger -p eth1
Permanent MAC: 00:1a:92:a8:55:ff (Asustek Computer Inc.)
Current   MAC: 00:1a:92:ad:83:0c (Asustek Computer Inc.)
New       MAC: 00:1a:92:a8:55:ff (Asustek Computer Inc.)
# ifconfig eth1 up

- Obtenir une adresse MAC aléatoire d’un fabricant et du même genre, l'option -a

# ifconfig eth1 down
# macchanger -a eth1
Permanent MAC: 00:1a:92:a8:55:ff (Asustek Computer Inc.)
Current   MAC: 00:1a:92:a8:55:ff (Asustek Computer Inc.)
New       MAC: 00:13:1c:c9:cc:1a (Litetouch, Inc.)
# ifconfig eth1 up

- Obtenir une adresse MAC aléatoire d’un fabricant et de n’importe quel genre, l'option -A

# ifconfig eth1 down
# macchanger -A eth1
Permanent MAC: 00:1a:92:a8:55:ff (Asustek Computer Inc.)
Current   MAC: 00:1a:92:a8:55:ff (Asustek Computer Inc.)
New       MAC: 00:0c:bc:b5:68:6e (Iscutum)
# ifconfig eth1 up

- Obtenir une adresse totalement aléatoire, option -r

# ifconfig eth1 down
# macchanger -r eth1
Permanent MAC: 00:1a:92:a8:55:ff (Asustek Computer Inc.)
Current   MAC: 00:1a:92:a8:55:ff (Asustek Computer Inc.)
New       MAC: 5c:96:67:da:37:81 (unknown)
# ifconfig eth1 up

- Attribuer une adresse MAC manuellement, option –mac
on va attribuer l'adresse : 00:0c:bc:b5:68:6e
Cette méthode correspond à la façon de faire à la main dit en début de billet.

# ifconfig eth1 down
# macchanger --mac=00:0c:bc:b5:68:6e eth1
Permanent MAC: 00:1a:92:a8:55:ff (Asustek Computer Inc.)
Current   MAC: 00:1a:92:a8:55:ff (Asustek Computer Inc.)
New       MAC: 00:0c:bc:b5:68:6e (Iscutum)
# ifconfig eth1 up

- Pour lister les vendeurs, option --list
ex. : listons les adresse mac de  Asustek

# macchanger --list=Asustek
Misc MACs:
Num    MAC        Vendor
---    ---        ------
3148 - 00:0c:6e - Asustek Computer Inc.
3716 - 00:0e:a6 - Asustek Computer Inc.
4364 - 00:11:2f - Asustek Computer Inc.
4533 - 00:11:d8 - Asustek Computer Inc.
5041 - 00:13:d4 - Asustek Computer Inc.
5583 - 00:15:f2 - Asustek Computer Inc.
5902 - 00:17:31 - Asustek Computer Inc.
(...)

Script pour changer d'adresse à chaque démarrage

- Changer son adresse MAC à chaque démarrage.
Choisissez votre carte dont vous souhaitez modifier l'adresse MAC ainsi que l'option.
Dans cet exemple on continue avec la carte eth1 et on va choisir l'option -r pour avoir une nouvelle adresse MAC aléatoire à chaque démarrage.
Bien-sûr, vous pouvez modifier plusieurs cartes dans ce même script, je le montre en commentaire #
Facile, on va créer un script avec les commandes qu'on a vu ci-dessus.
Dans votre éditeur de texte favori écrivez :

#!/bin/bash
# Désactiver la/les interface(s) réseaux
# ifconfig eth0 down
ifconfig eth1 down
# ifconfig wlan0 down
# ifconfig wlan1 down
# Générer une adresse MAC aléatoire pour le/les interface(s) réseaux
# /usr/bin/macchanger -r eth0
/usr/bin/macchanger -r eth1
# /usr/bin/macchanger -r wlan0
# /usr/bin/macchanger -r wlan1
# Réactiver la/les interface(s) réseaux
# ifconfig eth0 up
ifconfig eth1 up
# ifconfig wlan0 up
# ifconfig wlan1 up
- Enregistrez sous... par exemple monmacchanger.sh
- placez-le dans /etc/init.d/
- Placez-vous sur /etc/init.d/
- Rendez-le exécutable
# chmod +x monmacchanger.sh

Autoriser le script à chaque démarrage

# update-rc.d monmacchanger.sh defaults 15

C'est fini, maintenant à chaque démarrage la/les interface(s) réseau(x) aura/auront une nouvelle adresse MAC.

Articles à lire sur des sujets Similaires

Ajouter un commentaire

Le code HTML est affiché comme du texte et les adresses web sont automatiquement transformées.

La discussion continue ailleurs

URL de rétrolien : https://chispa.fr/sima78/index.php?trackback/28

Fil des commentaires de ce billet