Jump to content

# MAC address spoofing (Français)

7 languages

- Deutsch
- English
- Español
- 日本語
- Português
- Русский
- 中文（简体）

From ArchWiki
État de la traduction: Cet article est la version francophone de MAC address spoofing. Date de la dernière traduction: 2022-10-06. Vous pouvez aider à synchroniser la traduction s'il y a eu des changements dans la version anglaise.

Cet article liste plusieurs méthodes pour modifier une adresse MAC (Media Access Control).

## Manuellement

Il y a deux méthodes pour modifier manuellement une adresse MAC: en installant iproute2 ou macchanger. Tous deux sont décris plus bas.

### iproute2

Tout d'abord, vous pouvez vérifier votre adresse MAC actuelle avec la commande :

    # ip link show interface

où `interface` est le nom de votre interface réseau.

La section qui nous intéresse pour le moment est celle qui comporte "link/ether" suivi d'un nombre de 6 octets. Elle ressemblera probablement à quelque chose comme ceci :

    link/ether 00:1d:98:5a:d1:3a

La première étape pour usurper l'adresse MAC est de mettre l'interface réseau hors service. Cela peut être accompli avec la commande :

    # ip link set dev interface down

Ensuite, nous usurpons réellement notre MAC. N'importe quelle valeur hexadécimale fera l'affaire, mais certains réseaux peuvent être configurés pour refuser d'attribuer des adresses IP à un client dont le MAC ne correspond à aucun des fournisseurs connus. Par conséquent, à moins que vous ne contrôliez le(s) réseau(x) auquel(s) vous vous connectez, utilisez le préfixe MAC de n'importe quel fournisseur réel (en gros, les trois premiers octets), et utilisez des valeurs aléatoires pour les trois octets suivants. Pour plus d'informations, veuillez lire Wikipedia:fr:Organizationally Unique Identifier.

Pour changer le MAC, nous devons exécuter la commande :

    # ip link set dev interface address XX:XX:XX:XX:XX:XX

Où n'importe quelle valeur de 6 octets suffira pour `XX:XX:XX:XX:XX`.

La dernière étape consiste à remettre en service l'interface réseau. Ceci peut être accompli en exécutant la commande :

    # ip link set dev interface up

Si vous voulez vérifier que votre MAC a été usurpé, exécutez simplement `ip link show interface` à nouveau et vérifiez la valeur de 'link/ether'. Si cela a fonctionné, 'link/ether' devrait être l'adresse que vous avez décidé de changer.

### macchanger

Une autre méthode utilise macchanger (alias GNU MAC Changer). Celui-ci fournit diverses fonctionnalités, telles que modifier une adresse pour correspondre à un certain fabriquant ou même de la rendre complètement aléatoire.

Installez le paquet macchanger.

Le changement s'effectue par interface, spécifiez le nom de l'interface réseau en remplacement de `interface` dans chacune des commandes suivantes.

Pour un changement vers une adresse complètement aléatoire:

    # macchanger -r interface

Pour rendre aléatoire uniquement les octets spécifiques au fabriquant du matériel de l'adresse MAC courante (c'est-à-dire pour que la carte réseau apparaisse toujours comme étant de la même marque en cas de vérification), utilisez la commande:

    # macchanger -e interface

Pour modifier l'adresse vers une valeur spécifique:

    # macchanger --mac=XX:XX:XX:XX:XX:XX interface

Où `XX:XX:XX:XX:XX:XX` est l'adresse MAC que vous désirez utiliser.

Enfin, pour revenir à la valeur originale, inscrite dans le hardware:

    # macchanger -p interface

Note: Un périphérique ne peut pas être «en cours d'utilisation» (connecté d'une quelconque façon ou avec une interface «up») lors du changement d'adresse MAC.

## Automatiquement

### systemd-networkd

systemd-networkd prend en charge l'usurpation d'adresse MAC via link files. (consultez systemd.link(5) pour plus de détails).

Pour définir une adresse MAC statique usurpée :

    /etc/systemd/network/00-default.link

    [Match]
    MACAddress=original MAC

    [Link]
    MACAddress=spoofed MAC
    NamePolicy=kernel database onboard slot path

Pour rendre l'adresse MAC aléatoire à chaque démarrage, définissez `MACAddressPolicy=random` au lieu de `MACAddress=spoofed MAC`.

### systemd-udevd

udev vous permet d'effectuer une usurpation d'adresse MAC en créant des règles udev. Utilisez l'attribut `address` pour faire correspondre le périphérique correct à son adresse MAC originale et la modifier à l'aide de la commande ip :

    /etc/udev/rules.d/81-mac-spoof.rules

    ACTION=="add", SUBSYSTEM=="net", ATTR{address}=="XX:XX:XX:XX:XX:XX", RUN+="/usr/bin/ip link set dev $name address YY:YY:YY:YY:YY:YY:YY"

où `XX:XX:XX:XX:XX:XX` est l'adresse MAC originale et `YYY:YY:YY:YY:YY` est la nouvelle, utilisez les minuscules pour l'adresse MAC.

### Unité systemd

#### Création d'une unité

Vous trouverez ci-dessous deux exemples d'unités systemd pour changer une adresse MAC au démarrage, l'une définit un MAC statique en utilisant ip et l'autre utilise macchanger pour attribuer une adresse MAC aléatoire. Le `network-pre.target` de systemd est utilisé pour s'assurer que le MAC est changé avant le démarrage d'un gestionnaire de réseau comme Netctl ou NetworkManager, du service systemd-networkd ou dhcpcd.

##### iproute2

L'unité systemd définit une adresse MAC prédéfinie :

    /etc/systemd/system/macspoof@.service

    [Unit]
    Description=MAC Address Change %I
    Wants=network-pre.target
    Before=network-pre.target
    BindsTo=sys-subsystem-net-devices-%i.device
    After=sys-subsystem-net-devices-%i.device

    [Service]
    Type=oneshot
    ExecStart=/usr/bin/ip link set dev %i address 36:aa:88:c8:75:3a
    ExecStart=/usr/bin/ip link set dev %i up

    [Install]
    WantedBy=multi-user.target

##### macchanger

L'unité systemd définit une adresse aléatoire tout en préservant les octets d'origine du vendeur de la carte réseau. Assurez-vous que macchanger est installé :

    /etc/systemd/system/macspoof@.service

    [Unit]
    Description=macchanger on %I
    Wants=network-pre.target
    Before=network-pre.target
    BindsTo=sys-subsystem-net-devices-%i.device
    After=sys-subsystem-net-devices-%i.device

    [Service]
    ExecStart=/usr/bin/macchanger -e %I
    Type=oneshot

    [Install]
    WantedBy=multi-user.target

Une adresse aléatoire complète peut être définie en utilisant l'option `-r`, consultez #macchanger.

#### Activer le service

Ajoutez l'interface réseau souhaitée au nom du service (par exemple, `eth0`) et activez le service (par exemple, `macspoof@eth0.service`).

Redémarrez, ou arrêtez et démarrez les services prérequis et requis dans l'ordre approprié. Si vous avez le contrôle de votre réseau, vérifiez que le MAC usurpé a été détecté par votre routeur en examinant les tables d'adresses statiques ou DHCP du routeur.

### netctl interfaces

Vous pouvez utiliser un netctl hook pour exécuter une commande chaque fois qu'un profil netctl est relancé pour une interface réseau spécifique. Remplacez `interface` en conséquence :

    /etc/netctl/interfaces/interface

    #!/usr/bin/env sh
    /usr/bin/macchanger -r interface

Rendez le script exécutable.

Source : akendo.eu (archive)

### NetworkManager

Consultez NetworkManager (Français)#Configuration de la randomisation des adresses MAC.

### wpa_supplicant

wpa_supplicant peut utiliser une adresse MAC aléatoire pour chaque connexion ESS (AP) (consultez [1] pour plus de détails).

Ajoutez ceci à votre configuration :

    /etc/wpa_supplicant/wpa_supplicant-wlan0.conf

    mac_addr=1
    preassoc_mac_addr=1
    gas_rand_mac_addr=1

### iwd

Pour randomiser l'adresse MAC au démarrage de iwd (consultez iwd.config(5) pour plus de détails) :

    /etc/iwd/main.conf

    [General]
    AddressRandomization=once
    AddressRandomizationRange=nic

La spécification de `AddressRandomizationRange` permet de contrôler la partie de l'adresse qui est randomisée. Si la valeur `nic` est définie, seuls les octets spécifiques à la carte réseau (les trois derniers octets) sont randomisés. L'adresse mac permanente de l'interface réseau est utilisée pour les 3 premiers octets. Si la valeur `full` est utilisée, les six octets de l'adresse sont randomisés.

## Dépannage

### La connexion à un réseau DHCPv4 échoue

Si vous ne pouvez pas vous connecter à un réseau DHCPv4 et que vous utilisez dhcpcd, qui est la valeur par défaut de NetworkManager, vous devrez peut-être modifier la configuration de dhcpcd pour obtenir un bail.

## Voir aussi

- Wikipedia:MAC spoofing
- Page GitHub de Macchanger]
- Article sur DebianAdmin avec plus d'options macchanger.

Categories:

- Network configuration (Français)
- Security (Français)