O06 - Wireshark et tcpdump : voir ce qui passe sur le réseau
Objectif
Capturer et lire le trafic réseau réel : voir un DORA DHCP, une requête DNS, la poignée de main TCP, une requête ARP, les étiquettes VLAN… C’est le « mode Simulation » de Packet Tracer, mais sur de vrais paquets.
Légalité
Ne capture que sur ton propre réseau / tes VM de labo. Capturer le trafic d’autres personnes sans autorisation est une infraction (atteinte au secret des correspondances) et viole la charte de l’école.
1. Installation
# Pop!_OS / Debian : répondre « Oui » pour autoriser la capture sans root
sudo apt install wireshark
sudo dpkg-reconfigure wireshark-common # si tu as répondu non
sudo usermod -aG wireshark "$USER" # puis déconnexion / reconnexion
# Arch
sudo pacman -S wireshark-qt
sudo usermod -aG wireshark "$USER"2. Première capture
- Lancer Wireshark → double-cliquer sur l’interface active (
enp…,wlp…, ouvirbr0pour les VM libvirt,vboxnet0pour VirtualBox host-only). - Générer du trafic (ex.
ping -c 3 debian.org). - Bouton carré rouge pour arrêter.
| Zone | Contenu |
|---|---|
| Haut | Liste des paquets (n°, temps, source, destination, protocole, info) |
| Milieu | Détail par couche (Ethernet → IP → TCP → HTTP) - l’encapsulation en vrai ! |
| Bas | Octets bruts en hexadécimal |
3. Filtres d’affichage (barre verte)
| Filtre | Montre |
|---|---|
ip.addr == 192.168.1.10 | Tout ce qui concerne cette IP |
tcp.port == 22 | SSH |
dns | Requêtes et réponses DNS |
dhcp | Échanges DHCP (DORA) |
arp | Requêtes « qui a… » |
icmp | Ping, traceroute |
http | Web non chiffré |
tls.handshake.type == 1 | Début de connexion HTTPS (on voit le nom du site dans le SNI) |
tcp.flags.syn == 1 && tcp.flags.ack == 0 | Débuts de connexion TCP |
vlan | Trames étiquetées 802.1Q |
!(arp or dns) | Tout sauf ARP et DNS |
Clic droit sur un paquet → Suivre → Flux TCP : reconstitue toute la conversation.
4. tcpdump (en ligne de commande, sur un serveur sans interface)
sudo tcpdump -i eth0 -n # tout
sudo tcpdump -i eth0 -n port 53 # DNS
sudo tcpdump -i eth0 -n host 172.30.16.5 and port 3306
sudo tcpdump -i eth0 -w capture.pcap # enregistrer…
# …puis ouvrir capture.pcap dans Wireshark sur ton PC (scp pour le récupérer)5. Exercices pour réviser les cours
| À observer | Comment | Fiche |
|---|---|---|
| ARP request (broadcast) + reply | sudo ip neigh flush all puis ping de la passerelle, filtre arp | R01 - Notions de base du réseau |
| Poignée de main TCP (SYN, SYN-ACK, ACK) | curl http://example.com, filtre tcp.port == 80 | R02 - Modèle OSI et TCP-IP |
| DORA | sudo dhclient -r && sudo dhclient (ou reconnecter le réseau), filtre dhcp | R08 - DHCP, DNS et route par défaut |
| Mot de passe en clair | Connexion Telnet ou FTP vers une VM de labo → Suivre le flux TCP | Pourquoi on utilise SSH |
| HTTPS chiffré | curl https://… : on ne voit que le nom (SNI), pas le contenu | S04 - Proxy Squid et SquidGuard |