Module 7 — Réseau

ARP

Comprends le fonctionnement du protocole ARP (Address Resolution Protocol), son rôle critique dans la communication réseau, et les attaques qui l'exploitent.

  • Expliquer le rôle d'ARP dans la résolution d'adresses IP vers MAC
  • Décrire le processus ARP Request / ARP Reply
  • Analyser et interpréter la table ARP d'un système
  • Comprendre le rôle d'ARP dans les communications locales et inter-réseaux
  • Identifier les attaques ARP Spoofing et les défenses associées

📡 7.1 — Qu'est-ce qu'ARP ?

ARP (Address Resolution Protocol) est un protocole de la couche 2/3 qui permet de résoudre (traduire) une adresse IP (couche 3) en une adresse MAC (couche 2). Sans ARP, les appareils sur un réseau local ne pourraient pas communiquer entre eux.

Imagine un annuaire téléphonique. Tu connais le nom de quelqu'un (son adresse IP), mais pour l'appeler, tu as besoin de son numéro de téléphone (son adresse MAC). ARP est l'annuaire qui fait la correspondance : tu donnes le nom, il te retourne le numéro.

Pourquoi ARP est-il nécessaire ?

Les réseaux utilisent deux systèmes d'adressage distincts qui travaillent ensemble :

CaractéristiqueAdresse IP (Layer 3)Adresse MAC (Layer 2)
Taille32 bits (IPv4)48 bits
Exemple192.168.1.10AA:BB:CC:11:22:33
Attribuée parAdministrateur / DHCPFabricant (gravée dans la NIC)
PortéeBout en bout (end-to-end)Lien local (hop-by-hop)
Changée en transit ?Non (sauf NAT)Oui, à chaque routeur
Rappel clé
Pour envoyer une trame Ethernet, le switch a besoin de l'adresse MAC de destination. Mais les applications et les protocoles de couche supérieure ne connaissent que l'adresse IP. ARP fait le pont entre ces deux mondes.

Position d'ARP dans le modèle OSI

ARP : entre la couche 2 et la couche 3
Couche 3 — Réseau (IP)

L'application veut envoyer un paquet IP vers 192.168.1.20.

La couche réseau connaît l'IP de destination mais pas l'adresse MAC correspondante.

ARP — Address Resolution Protocol

ARP traduit l'adresse IP en adresse MAC.

EtherType : 0x0806

Il consulte d'abord sa table ARP (cache). Si l'entrée n'existe pas, il lance une requête ARP.

Couche 2 — Liaison (Ethernet)

Maintenant que l'adresse MAC est connue, la trame Ethernet peut être construite et envoyée au switch.

🔄 7.2 — Fonctionnement d'ARP

Le processus ARP se déroule en deux étapes : une ARP Request envoyée en broadcast et une ARP Reply renvoyée en unicast.

Étape 1 : ARP Request (Broadcast)

📢

ARP Request — "Qui a cette IP ?"

Broadcast sur tout le réseau local

Quand un hôte veut communiquer avec une adresse IP dont il ne connaît pas la MAC, il envoie une ARP Request en broadcast (FF:FF:FF:FF:FF:FF).

MAC SourceAdresse MAC de l'expéditeur
MAC DestinationFF:FF:FF:FF:FF:FF (broadcast)
EtherType0x0806 (ARP)
Opcode1 (Request)
Message"Qui possède l'adresse IP 192.168.1.20 ? Répondez à 192.168.1.10"

Étape 2 : ARP Reply (Unicast)

ARP Reply — "C'est moi !"

Réponse unicast directe

L'hôte qui possède l'adresse IP demandée répond en unicast directement à l'expéditeur de la requête.

MAC SourceAdresse MAC du répondeur
MAC DestinationAdresse MAC de l'expéditeur original
Opcode2 (Reply)
Message"192.168.1.20, c'est moi ! Mon adresse MAC est DD:EE:FF:44:55:66"

Schéma du processus ARP

Résolution ARP complète
1. PC-A vérifie son cache ARP

PC-A (192.168.1.10) veut envoyer un paquet à PC-B (192.168.1.20).

Il consulte sa table ARP locale. Aucune entrée trouvée pour 192.168.1.20.

2. ARP Request (Broadcast)

PC-A envoie un ARP Request en broadcast sur tout le LAN :

MAC src: AA:BB:CC:11:22:33 | MAC dst: FF:FF:FF:FF:FF:FF

"Qui possède 192.168.1.20 ? Répondez à 192.168.1.10 (AA:BB:CC:11:22:33)"

Tous les hôtes du LAN recoivent cette trame. Seul le propriétaire de l'IP 192.168.1.20 répond.

3. ARP Reply (Unicast)

PC-B (192.168.1.20) reconnaît son adresse IP et répond en unicast :

MAC src: DD:EE:FF:44:55:66 | MAC dst: AA:BB:CC:11:22:33

"192.168.1.20, c'est moi ! Mon MAC est DD:EE:FF:44:55:66"

4. Mise en cache et communication

PC-A enregistre l'association IP/MAC dans son cache ARP.

PC-B enregistre aussi l'association de PC-A dans son propre cache.

La communication peut maintenant se faire directement en unicast.

Point important
ARP est un protocole sans état (stateless). Un hôte accepte les ARP Reply même s'il n'a pas envoyé de Request correspondante. C'est cette faiblesse qui permet les attaques ARP Spoofing.

Structure du paquet ARP

Le message ARP fait 28 octets au total (pour Ethernet/IPv4). Il est encapsule dans une trame Ethernet avec l'EtherType 0x0806. Comme 28 octets est inferieur au minimum de 46 octets pour le payload Ethernet, du padding (18 octets de zeros) est ajoute.

Format du message ARP (28 octets)
Hardware Type (HTYPE) — 2 octets

Type de reseau physique. 0x0001 = Ethernet.

Autres valeurs possibles : 0x0006 = IEEE 802, 0x000F = Frame Relay.

Protocol Type (PTYPE) — 2 octets

Protocole de couche 3 dont on cherche a resoudre l'adresse. 0x0800 = IPv4.

Utilise les memes valeurs que le champ EtherType d'Ethernet.

Hardware Address Length (HLEN) — 1 octet

Taille en octets de l'adresse materielle. 6 pour Ethernet (adresse MAC = 6 octets).

Protocol Address Length (PLEN) — 1 octet

Taille en octets de l'adresse de protocole. 4 pour IPv4 (adresse IP = 4 octets).

Opcode (Operation) — 2 octets
1ARP Request
2ARP Reply
3RARP Request (Reverse ARP — obsolete)
4RARP Reply (Reverse ARP — obsolete)

RARP permettait a une machine de decouvrir sa propre adresse IP a partir de sa MAC. Remplace par BOOTP puis DHCP.

Sender Hardware Address (SHA) — 6 octets

Adresse MAC de l'expediteur du message ARP.

Sender Protocol Address (SPA) — 4 octets

Adresse IPv4 de l'expediteur du message ARP.

Target Hardware Address (THA) — 6 octets

Adresse MAC de la cible. Dans un ARP Request, ce champ est 00:00:00:00:00:00 (inconnu). Dans un ARP Reply, il contient l'adresse MAC du demandeur original.

Target Protocol Address (TPA) — 4 octets

Adresse IPv4 de la cible dont on cherche l'adresse MAC.

📊

Recapitulatif : taille du paquet ARP

2 + 2 + 1 + 1 + 2 + 6 + 4 + 6 + 4 = 28 octets

ChampTailleValeur typique (Ethernet/IPv4)
Hardware Type (HTYPE)2 octets0x0001 (Ethernet)
Protocol Type (PTYPE)2 octets0x0800 (IPv4)
Hardware Address Length (HLEN)1 octet6
Protocol Address Length (PLEN)1 octet4
Opcode2 octets1 (Request) ou 2 (Reply)
Sender MAC (SHA)6 octetsMAC de l'expediteur
Sender IP (SPA)4 octetsIP de l'expediteur
Target MAC (THA)6 octets00:00:00:00:00:00 (Request) ou MAC cible (Reply)
Target IP (TPA)4 octetsIP dont on cherche la MAC

📋 7.3 — Table ARP (ARP Cache)

Chaque appareil maintient une table ARP (ou cache ARP) qui stocke les associations IP/MAC récemment apprises. Cela évite d'envoyer un broadcast ARP Request à chaque communication.

Types d'entrées

TypeDescriptionDurée de vie
Dynamique Apprise automatiquement via ARP Request/Reply Quelques minutes (typiquement 2-20 min selon l'OS)
Statique Configurée manuellement par l'administrateur Permanente (jusqu'au redémarrage ou suppression manuelle)

Le cache ARP, c'est comme la liste de contacts de ton téléphone. Quand tu appelles quelqu'un pour la première fois, tu cherches son numéro (ARP Request). Ensuite, tu l'enregistres dans tes contacts (cache ARP) pour ne pas avoir à le chercher à nouveau. Mais si le numéro change (nouvel appareil sur le réseau), ton ancien contact devient obsolète.

Consulter la table ARP

Commandes ARP — Windows
arp -a
Interface: 192.168.1.10 --- 0x3 Internet Address Physical Address Type 192.168.1.1 00-1A-2B-3C-4D-5E dynamic 192.168.1.20 DD-EE-FF-44-55-66 dynamic 192.168.1.254 11-22-33-AA-BB-CC dynamic 224.0.0.22 01-00-5E-00-00-16 static 255.255.255.255 FF-FF-FF-FF-FF-FF static
arp -d *
(Supprime toutes les entrées dynamiques du cache ARP)
arp -s 192.168.1.1 00-1A-2B-3C-4D-5E
(Ajoute une entrée statique dans le cache ARP)
arp -a
Interface: 192.168.1.10 --- 0x3 Internet Address Physical Address Type 192.168.1.1 00-1A-2B-3C-4D-5E static 224.0.0.22 01-00-5E-00-00-16 static 255.255.255.255 FF-FF-FF-FF-FF-FF static

Commandes ARP essentielles

CommandeOSDescription
arp -aWindows / macOSAffiche la table ARP complète
arp -d *WindowsSupprime toutes les entrées dynamiques
arp -d 192.168.1.20WindowsSupprime une entrée spécifique
arp -s IP MACWindowsAjoute une entrée statique
ip neigh showLinuxAffiche la table ARP (commande moderne)
ip neigh flush allLinuxVide le cache ARP

ARP Timeout : duree de vie detaillee

Les entrees ARP dynamiques ont deux etats avec des durees differentes :

OSEtat incomplete (pas de reponse)Etat complete (reponse recue)Notes
Windows ~3 secondes 15 a 45 secondes (reachable), puis jusqu'a ~10 minutes si reutilise Windows revalide l'entree si elle est utilisee avant expiration. Le registre ArpCacheLife peut modifier ce comportement.
Linux ~3 secondes ~30 secondes (reachable) puis passe en stale pendant ~60 secondes Configurable via /proc/sys/net/ipv4/neigh/default/. Les etats Linux sont : INCOMPLETE, REACHABLE, STALE, DELAY, PROBE, FAILED.
macOS ~3 secondes ~20 minutes Configurable via sysctl net.link.ether.inet.max_age
Cisco IOS ~1 minute 4 heures (14400 secondes) Configurable avec arp timeout <secondes> sur l'interface
Pourquoi c'est important pour la securite
Un timeout court signifie que l'attaquant doit envoyer des ARP Reply frauduleux frequemment pour maintenir l'empoisonnement du cache. Un timeout long (comme Cisco IOS) signifie qu'une seule attaque reussie peut durer des heures. C'est pourquoi les entrees statiques pour le gateway sont une defense efficace.

🌐 7.4 — ARP dans un réseau

Le comportement d'ARP diffère selon que la communication est locale (même sous-réseau) ou distante (vers un autre réseau via un routeur).

Communication locale (même sous-réseau)

🏠

Destination sur le même réseau

PC-A (192.168.1.10) vers PC-B (192.168.1.20)

  1. PC-A compare l'IP de destination avec son propre sous-réseau (AND logique avec le masque)
  2. Les deux sont sur 192.168.1.0/24 : la destination est locale
  3. PC-A cherche l'adresse MAC de 192.168.1.20 dans son cache ARP
  4. Si absente : ARP Request broadcast pour 192.168.1.20
  5. PC-B répond avec son adresse MAC
  6. PC-A envoie la trame directement à PC-B

Communication distante (vers un autre réseau)

🌍

Destination sur un réseau distant

PC-A (192.168.1.10) vers Serveur (10.0.0.50)

  1. PC-A compare l'IP de destination avec son propre sous-réseau
  2. 10.0.0.50 n'est pas sur 192.168.1.0/24 : la destination est distante
  3. PC-A doit envoyer le paquet au gateway par défaut (routeur, ex: 192.168.1.1)
  4. PC-A cherche l'adresse MAC du gateway (192.168.1.1) dans son cache ARP
  5. Si absente : ARP Request broadcast pour 192.168.1.1 (pas pour 10.0.0.50 !)
  6. Le routeur répond avec son adresse MAC
  7. PC-A envoie la trame au routeur (MAC dst = MAC du routeur, IP dst = 10.0.0.50)
ARP : local vs distant
Réseau 192.168.1.0/24

PC-A : 192.168.1.10 / MAC: AA:BB:CC:11:22:33

PC-B : 192.168.1.20 / MAC: DD:EE:FF:44:55:66

Gateway : 192.168.1.1 / MAC: 00:1A:2B:3C:4D:5E


Communication locale PC-A vers PC-B : ARP pour l'IP de PC-B

Communication distante PC-A vers 10.0.0.50 : ARP pour l'IP du Gateway

Routeur (Gateway)

Interface LAN : 192.168.1.1 / MAC: 00:1A:2B:3C:4D:5E

Interface WAN : 10.0.0.1 / MAC: 00:1A:2B:3C:4D:FF

Le routeur reçoit la trame, décapsule, puis la ré-encapsule avec de nouvelles adresses MAC pour le prochain saut.

Réseau 10.0.0.0/24

Serveur : 10.0.0.50 / MAC: 77:88:99:AA:BB:CC

Le routeur fait un ARP pour 10.0.0.50 sur ce réseau.

Règle fondamentale
ARP ne résout jamais une adresse IP sur un autre sous-réseau. Si la destination est distante, ARP résout l'adresse MAC du gateway par défaut (le routeur). Les adresses IP source et destination ne changent pas (sauf NAT), mais les adresses MAC changent à chaque saut.

📨 7.5 — Gratuitous ARP et Proxy ARP

Gratuitous ARP

Un Gratuitous ARP est un paquet ARP envoye par un hote pour annoncer ou mettre a jour son propre mappage IP/MAC, sans qu'une requete ait ete faite. L'hote envoie un ARP Request ou Reply ou l'adresse IP source et destination sont sa propre adresse IP.

Usages legitimes du Gratuitous ARP

Quand c'est normal et attendu

UsageDescription
Detection de conflit IP A la configuration d'une interface, l'hote envoie un Gratuitous ARP pour verifier qu'aucun autre appareil n'utilise deja la meme IP. Si une reponse arrive, il y a un conflit d'adresse.
Mise a jour des caches ARP Apres un changement de carte reseau ou de MAC (virtualisation), l'hote annonce sa nouvelle MAC pour que les autres mettent a jour leur cache.
Failover / Haute disponibilite Lors d'un basculement HSRP, VRRP ou GLBP, le nouveau routeur actif envoie un Gratuitous ARP pour prendre en charge l'adresse IP virtuelle avec sa propre MAC.
Demarrage d'une interface Quand une interface reseau s'active, l'hote annonce sa presence sur le LAN via un Gratuitous ARP.
Usage malveillant du Gratuitous ARP
C'est exactement le mecanisme exploite par l'ARP Spoofing. L'attaquant envoie des Gratuitous ARP contenant de fausses associations IP/MAC pour empoisonner les caches ARP des victimes. Comme il n'y a aucune verification, tous les hotes du LAN acceptent ces mises a jour.

Proxy ARP

Le Proxy ARP (RFC 1027) est un mecanisme par lequel un routeur repond aux requetes ARP a la place d'un autre hote situe sur un autre sous-reseau.

🔄

Fonctionnement du Proxy ARP

Le routeur "fait semblant" d'etre la destination

  1. Un hote A (192.168.1.10/16) veut communiquer avec un hote B (192.168.2.20/16)
  2. Comme ils partagent le meme prefixe /16, l'hote A pense que B est sur le meme LAN
  3. L'hote A envoie un ARP Request pour 192.168.2.20
  4. Le routeur, qui connait une route vers 192.168.2.0/24, repond avec sa propre adresse MAC
  5. L'hote A envoie ses trames au routeur (croyant parler directement a B)
  6. Le routeur route ensuite les paquets vers le bon sous-reseau
Proxy ARP : avantages et inconvenients
Avantage : permet la communication entre sous-reseaux sans configurer de gateway sur les hotes (utile pour les anciens systemes).
Inconvenients : augmente le trafic ARP, augmente la taille de la table ARP, peut masquer des problemes de configuration reseau, et cree une surface d'attaque supplementaire.
Cisco IOS : Proxy ARP est active par defaut sur les interfaces. Pour le desactiver : no ip proxy-arp sur l'interface.

☠️ 7.6 — ARP Spoofing / ARP Poisoning

ARP n'a aucun mécanisme d'authentification. N'importe quel appareil sur le réseau peut envoyer des ARP Reply non sollicitées (gratuitous ARP) pour associer une adresse IP à une fausse adresse MAC. C'est le principe de l'ARP Spoofing (ou ARP Poisoning).

Imagine la Poste sans vérification d'identité. Quelqu'un peut aller au bureau de poste et dire : "Je suis Monsieur Dupont, donnez-moi son courrier." Sans vérification, le facteur lui remet les lettres. L'ARP Spoofing, c'est exactement cela : un attaquant se fait passer pour un autre en fournissant sa propre adresse MAC pour une adresse IP qui ne lui appartient pas.

Comment fonctionne une attaque ARP Spoofing ?

Attaque Man-in-the-Middle via ARP Spoofing
1. Situation normale

Victime (192.168.1.10) communique avec le Gateway (192.168.1.1).

Cache ARP de la victime : 192.168.1.1 → 00:1A:2B:3C:4D:5E (MAC correcte du routeur)

Le trafic va directement au routeur. Tout est normal.

2. L'attaquant envoie de faux ARP Reply

Attaquant (192.168.1.50 / MAC: EV:IL:EV:IL:EV:IL) envoie des ARP Reply non sollicitées :

A la victime : "192.168.1.1 est à l'adresse MAC EV:IL:EV:IL:EV:IL"

Au routeur : "192.168.1.10 est à l'adresse MAC EV:IL:EV:IL:EV:IL"

Les deux cibles mettent à jour leur cache ARP avec les fausses informations.

3. Cache ARP empoisonné

Cache de la victime (empoisonné) :

192.168.1.1 → EV:IL:EV:IL:EV:IL (MAC de l'attaquant !)

Cache du routeur (empoisonné) :

192.168.1.10 → EV:IL:EV:IL:EV:IL (MAC de l'attaquant !)

4. Man-in-the-Middle actif

Tout le trafic entre la victime et le routeur passe maintenant par l'attaquant.

L'attaquant peut : lire le trafic (mots de passe, emails), modifier les données en transit, injecter du contenu malveillant.

L'attaquant active IP forwarding pour que le trafic continue de circuler (la victime ne remarque rien).

Conséquences d'un ARP Spoofing

AttaqueDescriptionPilier CIA menacé
Man-in-the-Middle Interception et lecture de tout le trafic réseau Confidentiality
Session Hijacking Vol de cookies de session pour usurper une identité Confidentiality + Integrity
Data Modification Modification des données en transit (ex: changer un RIB dans un email) Integrity
Denial of Service Rediriger le trafic vers une adresse MAC inexistante Availability
Outils courants d'ARP Spoofing
Des outils comme arpspoof (dsniff), Ettercap, Bettercap et Cain & Abel automatisent complètement ce type d'attaque. C'est pourquoi les défenses sont indispensables.

🛡️ 7.7 — Defenses contre ARP Spoofing

Plusieurs techniques permettent de se protéger contre les attaques ARP Spoofing, de la plus simple à la plus robuste.

DAI est la principale defense contre ARP Spoofing. Disponible sur les switches manages (Cisco, HP, Juniper, etc.).

Fonctionnement detaille :

  1. Le switch intercepte tous les paquets ARP sur les ports untrusted (non approuves)
  2. Il extrait les champs Sender MAC et Sender IP du paquet ARP
  3. Il compare ces valeurs avec la DHCP Snooping Binding Table (base de donnees des associations IP/MAC/Port apprises via DHCP)
  4. Si l'association correspond : le paquet ARP est autorise
  5. Si l'association ne correspond pas : le paquet ARP est rejete et un log est genere
  6. Si trop de paquets ARP invalides arrivent sur un port, le port est place en err-disabled

DHCP Snooping Binding Table

C'est la source de verite pour DAI. Elle est construite automatiquement en ecoutant les echanges DHCP :

Cisco IOS — Afficher la binding table
Switch# show ip dhcp snooping binding
MacAddress          IpAddress       Lease(sec)  Type           VLAN  Interface
------------------  --------------- ----------  -------------- ----  ----------
AA:BB:CC:11:22:33   192.168.1.10    86400       dhcp-snooping  10    Fa0/1
DD:EE:FF:44:55:66   192.168.1.20    86400       dhcp-snooping  10    Fa0/3

Ports Trusted vs Untrusted

Type de portDescriptionExemples
Trusted Les paquets ARP ne sont pas verifies. Tous les paquets ARP sont autorises. Ports uplink vers d'autres switches, ports vers les routeurs, ports vers les serveurs DHCP
Untrusted (defaut) Les paquets ARP sont inspectes et verifies contre la binding table. Ports vers les postes utilisateurs, les imprimantes, tout acces utilisateur

Rate Limiting DAI

DAI peut limiter le nombre de paquets ARP par seconde sur un port untrusted pour eviter les attaques par inondation :

Configuration Cisco IOS complete :

Cisco IOS
! Etape 1 : Activer DHCP Snooping (prerequis obligatoire)
ip dhcp snooping
ip dhcp snooping vlan 10,20

! Etape 2 : Configurer les ports trusted pour DHCP
interface GigabitEthernet0/1
  description Uplink vers routeur
  ip dhcp snooping trust

! Etape 3 : Activer DAI sur les VLANs
ip arp inspection vlan 10,20

! Etape 4 : Configurer les ports trusted pour DAI
interface GigabitEthernet0/1
  ip arp inspection trust

! Etape 5 : Rate limiting sur les ports untrusted (optionnel)
interface range FastEthernet0/1 - 24
  ip arp inspection limit rate 15

! Etape 6 : Validations supplementaires (optionnel)
ip arp inspection validate src-mac dst-mac ip

! Verification
show ip arp inspection vlan 10
show ip arp inspection statistics vlan 10
show ip dhcp snooping binding
Validations supplementaires de DAI
src-mac : verifie que la MAC source de la trame Ethernet correspond au Sender MAC dans le paquet ARP.
dst-mac : verifie que la MAC destination correspond au Target MAC dans les ARP Reply.
ip : verifie que le Sender IP n'est pas 0.0.0.0, 255.255.255.255, ni une adresse multicast.
Pour les hotes avec IP statique
Les hotes qui n'utilisent pas DHCP n'apparaissent pas dans la binding table. Il faut creer des ARP ACLs manuellement :
arp access-list STATIC_HOSTS
  permit ip host 192.168.1.100 mac host AA.BB.CC.11.22.33
ip arp inspection filter STATIC_HOSTS vlan 10

Configurer manuellement les associations IP/MAC critiques pour qu'elles ne puissent pas être modifiées par des ARP Reply frauduleux.

Entrée statique ARP
arp -s 192.168.1.1 00-1A-2B-3C-4D-5E
(Entrée statique pour le gateway — ne sera pas écrasée par ARP Spoofing)
Limitation
Pratique pour quelques hôtes critiques (gateway, serveurs DNS), mais impossible à maintenir à grande échelle. Ne résiste pas au redémarrage sur certains OS.

Port Security limite le nombre d'adresses MAC autorisées sur un port du switch. Cela empêche un attaquant de se faire passer pour plusieurs appareils.

  • Limite le nombre de MAC par port (ex: maximum 1 ou 2)
  • Mode violation : shutdown (désactive le port), restrict (bloque et alerte), protect (bloque silencieusement)
  • Empêche aussi les attaques MAC flooding (saturation de la table CAM)
Cisco IOS
interface FastEthernet0/1
  switchport mode access
  switchport port-security
  switchport port-security maximum 2
  switchport port-security violation shutdown
  switchport port-security mac-address sticky

Les VLANs limitent le domaine de broadcast. Comme ARP utilise des broadcasts, segmenter le réseau en VLANs réduit la portée d'une attaque ARP Spoofing.

  • L'attaquant ne peut empoisonner que les hôtes du même VLAN
  • Les serveurs critiques et les postes utilisateurs doivent être dans des VLANs distincts
  • Combiner avec Private VLANs pour isoler davantage les hôtes entre eux

Les VLANs, c'est comme les étages d'un immeuble. Un voleur au 3e étage ne peut pas écouter les conversations au 5e. Chaque VLAN est un étage isolé.

Symptomes reseau d'un ARP Spoofing en cours

  • Latence inhabituelle : le trafic fait un detour par la machine de l'attaquant
  • Perte de paquets intermittente : si l'attaquant ne fait pas correctement le forwarding
  • Deconnexions frequentes : l'empoisonnement peut interrompre les sessions TCP
  • Meme adresse MAC pour plusieurs IP dans la table ARP (arp -a)
  • Certificats TLS invalides : si l'attaquant tente du SSL stripping

Detection avec Wireshark

Wireshark integre des filtres specialises pour detecter les anomalies ARP :

Filtres Wireshark pour ARP
# Detecter les adresses MAC dupliquees (ARP Spoofing)
arp.duplicate-address-detected

# Afficher uniquement les paquets ARP
arp

# Filtrer les ARP Reply uniquement
arp.opcode == 2

# Filtrer les Gratuitous ARP (source et target IP identiques)
arp.src.proto_ipv4 == arp.dst.proto_ipv4

# ARP provenant d'une IP specifique suspecte
arp.src.proto_ipv4 == 192.168.1.50

# ARP avec une MAC source specifique
arp.src.hw_mac == ev:il:ev:il:ev:il
Expert Info de Wireshark
Wireshark signale automatiquement les anomalies ARP dans la colonne Expert Info avec des alertes comme "Duplicate IP address detected" ou "ARP packet storm detected". Activer Analyze > Expert Information pour une vue d'ensemble.

Outils de monitoring ARP

OutilTypeDescription
ARPwatch Linux (daemon) Surveille le reseau et envoie des alertes email quand une association IP/MAC change. Maintient une base de donnees historique.
XArp Windows/Linux (GUI) Detection en temps reel d'ARP Spoofing avec interface graphique et alertes visuelles.
arpwatch + syslog Linux + SIEM Integration avec un SIEM pour centraliser les alertes ARP dans la plateforme de securite.
MesureDescription
HTTPS / TLSChiffre le trafic : meme intercepte, les donnees restent illisibles
VPNTunnel chiffre qui protege contre l'interception sur le LAN
802.1X (NAC)Authentification des appareils avant l'acces au reseau
HSTSForce le navigateur a utiliser HTTPS, empechant le SSL stripping meme en cas de MitM
Segmentation reseauLes micro-segments et les firewalls internes limitent les mouvements lateraux
Stratégie de défense en profondeur
La meilleure protection combine plusieurs couches : DAI + DHCP Snooping sur les switches, VLAN segmentation pour limiter la portée, Port Security pour contrôler les accès, et HTTPS/VPN pour chiffrer les données même en cas d'interception.

🔬 7.8 — Exercice : Identifier une attaque ARP

Analyse le tableau de trafic réseau ci-dessous capturé avec Wireshark. Identifie l'anomalie qui indique une attaque ARP Spoofing, puis fais glisser les conclusions dans les bonnes catégories.

Capture réseau

#TempsSourceDestinationProtocolInfo
10.000192.168.1.10BroadcastARPWho has 192.168.1.1? Tell 192.168.1.10
20.002192.168.1.1192.168.1.10ARP192.168.1.1 is at 00:1A:2B:3C:4D:5E
35.100192.168.1.10192.168.1.1TCPHTTPS - Navigation normale
412.500192.168.1.50192.168.1.10ARP192.168.1.1 is at EV:IL:EV:IL:EV:IL
512.501192.168.1.50192.168.1.1ARP192.168.1.10 is at EV:IL:EV:IL:EV:IL
614.000192.168.1.10192.168.1.50TCPHTTPS - Trafic maintenant redirigé vers l'attaquant
714.600192.168.1.50192.168.1.10ARP192.168.1.1 is at EV:IL:EV:IL:EV:IL
814.601192.168.1.50192.168.1.1ARP192.168.1.10 is at EV:IL:EV:IL:EV:IL
Indice
Compare les paquets #2 et #4. Qui prétend être 192.168.1.1 dans chaque cas ? L'adresse MAC est-elle la même ?

Classe chaque observation dans la bonne catégorie :

ARP Request broadcast pour trouver le gateway
ARP Reply non sollicité de 192.168.1.50
Le gateway répond avec sa vraie MAC
Deux IP différentes associées à la même MAC
ARP Reply envoyé en rafale (paquets #7-#8)
Trafic HTTPS avant l'attaque

✅ Trafic normal

Dépose ici

🚨 Indicateur d'attaque

Dépose ici

📝 7.9 — Quiz de revision

Points clés du Module 7

  • ARP (Address Resolution Protocol) résout les adresses IP en adresses MAC sur un réseau local
  • L'ARP Request est envoyée en broadcast (FF:FF:FF:FF:FF:FF), l'ARP Reply est retournée en unicast
  • La table ARP (cache) stocke les associations IP/MAC ; les entrées dynamiques expirent, les statiques persistent
  • En communication locale, ARP résout l'IP de la destination directement ; en communication distante, ARP résout l'IP du gateway
  • L'ARP Spoofing exploite l'absence d'authentification dans ARP pour empoisonner les caches et réaliser des attaques Man-in-the-Middle
  • Dynamic ARP Inspection (DAI) est la défense principale : elle vérifie les paquets ARP contre la base DHCP Snooping
  • La défense en profondeur combine DAI, Port Security, VLAN segmentation et chiffrement (HTTPS/VPN)
  • La commande arp -a permet d'afficher le cache ARP ; des entrées suspectes (même MAC pour plusieurs IP) indiquent un spoofing potentiel