Détecteur ARP Spoofing
Détection en temps réel des attaques Man-in-the-Middle sur réseau local. Surveille les réponses ARP, alerte sur les changements de MAC suspects, et identifie la cible visée.
L'attaque : ARP Spoofing
ARP (Address Resolution Protocol) associe une adresse IP à une adresse MAC sur un réseau local. Quand ton PC veut parler à la passerelle, il demande : "Qui a l'IP 192.168.244.2 ?" et le routeur répond : "C'est moi, voici ma MAC."
Le problème : ARP n'a aucune authentification. N'importe qui sur le réseau peut répondre à cette requête et prétendre être la passerelle.
C'est ce que fait arpspoof : il envoie en boucle des réponses ARP qui disent à la victime "La passerelle, c'est moi.". Résultat : tout le trafic de la victime passe par l'attaquant. C'est le Man-in-the-Middle.
Comment le détecteur fonctionne
1. Construction d'une table ARP légitime — Le détecteur observe les réponses ARP et mémorise la première MAC associée à chaque IP.
2. Surveillance des changements — Si une IP change de MAC, c'est suspect. Un changement de MAC sur une IP déjà connue signifie qu'une autre machine usurpe son identité.
3. Gradation par sévérité — On lit ip route show default pour identifier la vraie passerelle. Si l'IP usurpée est la passerelle → alerte CRITIQUE. Sinon → ÉLEVÉ.
4. Identification de la cible — Chaque paquet ARP contient une IP de destination (pdst). On sait donc quelle machine est visée par l'attaque.
Fonctionnalités clés
Détection en temps réel
Capture les paquets ARP en direct via Scapy et surveille les réponses ARP pour repérer les changements de MAC suspects.
Gradation de sévérité
Une attaque ciblant la passerelle est marquée CRITIQUE (Man-in-the-Middle probable). Une attaque vers une autre IP est ÉLEVÉ.
Identification des cibles
Le détecteur indique quelle machine est visée (cible IP) et quelle MAC usurpe l'identité de la passerelle.
Détection intelligente de la passerelle
Lit la route par défaut via `ip route` pour identifier la vraie passerelle, plutôt qu'une heuristique sur les IPs en .1 ou .254.
Interface CLI simple
Une seule commande : `python main.py --arp --interface eth1`. Le rapport s'affiche dans le terminal et est exporté en JSON.
Export JSON exploitable
Chaque alerte est enregistrée avec la MAC usurpée, la cible visée et le timestamp. Prêt pour intégration dans un SIEM.
Démonstration dans le lab
Environnement : Kali Linux (détecteur) + Ubuntu Server (attaquant via arpspoof), sur réseau Host-Only VirtualBox.
1. Lancement du détecteur
Sur Kali : sudo python main.py --arp --interface eth1

2. Lancement de l'attaque
Sur Ubuntu : sudo arpspoof -i ens33 -t 192.168.244.131 192.168.244.2

3. Auto-détection sur la même machine
Le détecteur et l'attaque tournent sur le même poste. Grâce au broadcast ARP, Kali reçoit ses propres paquets et détecte l'anomalie.

Résultat : alerte CRITIQUE
🚨 CRITIQUE - ARP SPOOFING potentiel : l'IP 192.168.244.2 a changé de MAC (00:0c:29:5a:f2:c6 → 00:50:56:ed:cd:e9) La cible 192.168.244.131 est visée. Possible Man-in-the-Middle.
Décodage : la passerelle 192.168.244.2 a changé de MAC pour celle d'Ubuntu (00:50:56:ed:cd:e9). La cible est Kali (192.168.244.131). L'attaque est confirmée.
Stack technique
Ce que ce projet démontre
Comprendre l'ARP Spoofing
ARP n'a aucune authentification. Un attaquant peut se faire passer pour la passerelle en envoyant de fausses réponses ARP. C'est la base du Man-in-the-Middle sur réseau local.
Détecter par changement de MAC
La signature d'une attaque ARP Spoofing est simple : une IP change de MAC. Le détecteur garde une table ARP légitime et alerte dès qu'une MAC change pour une IP connue.
Prioriser selon le contexte
Un spoofing de passerelle (routeur) est critique — tout le trafic peut être intercepté. Un spoofing d'une machine standard est élevé mais moins grave.
Test en environnement isolé
Toute attaque réseau doit être testée dans un lab. Le lab Host-Only VirtualBox permet de simuler une attaque réelle sans impact sur le réseau de production.
Test uniquement en lab
Toutes les attaques ARP Spoofing ont été réalisées dans un réseau Host-Only VirtualBox isolé, sans impact sur un réseau de production. Utiliser arpspoof sur un réseau sans autorisation est illégal.
Articles liés
Voir le code sur GitHub
L'intégralité du détecteur est open-source, avec le reste du Network Packet Analyzer.
Voir sur GitHub