Capturer et analyser le trafic réseau avec Wireshark : filtres, protocoles, identification des flux suspects.
Connaître le modèle OSI et les protocoles réseau courants (TCP, UDP, HTTP, DNS). Avoir une machine Debian ou Windows avec accès réseau.
# Debian/Ubuntu sudo apt install wireshark -y # Répondre Yes pour autoriser les utilisateurs non-root à capturer # Ajouter l'utilisateur au groupe wireshark (pour capturer sans root) sudo usermod -aG wireshark $USER newgrp wireshark # Lancer Wireshark (interface graphique) wireshark # Version ligne de commande sudo apt install tshark -y
| Zone | Rôle |
|---|---|
| Barre d'outils | Démarrer/arrêter capture, ouvrir/sauvegarder fichiers .pcap |
| Barre de filtre | Saisir les filtres d'affichage en temps réel |
| Liste des paquets | Affiche chaque paquet capturé (numéro, temps, src, dst, protocole, info) |
| Détail du paquet | Décomposition du paquet par couche OSI (Ethernet, IP, TCP, HTTP...) |
| Données brutes (hex) | Octets bruts du paquet en hexadécimal et ASCII |
1. Lancer Wireshark 2. Double-cliquer sur l'interface réseau (ex: eth0, ens3, Wi-Fi) 3. La capture démarre automatiquement 4. Effectuer des actions (naviguer, ping, etc.) 5. Cliquer sur le carré rouge pour arrêter 6. File > Save As pour sauvegarder en .pcap
Les filtres de capture s'appliquent AVANT la capture — ils réduisent le volume capturé :
| Filtre BPF | Description |
|---|---|
| host 192.168.1.1 | Trafic de ou vers l'IP 192.168.1.1 |
| port 80 | Trafic sur le port 80 |
| tcp port 443 | Trafic TCP sur le port 443 (HTTPS) |
| udp port 53 | Trafic DNS (UDP port 53) |
| net 192.168.1.0/24 | Tout le trafic du réseau 192.168.1.0/24 |
| not port 22 | Tout sauf SSH |
| icmp | Uniquement les pings ICMP |
| arp | Uniquement les trames ARP |
Les filtres d'affichage s'appliquent APRÈS la capture — ils filtrent la vue sans perdre les données :
| Filtre Wireshark | Description |
|---|---|
| ip.addr == 192.168.1.1 | Paquets de ou vers cette IP |
| ip.src == 192.168.1.10 | Paquets venant de cette IP |
| ip.dst == 8.8.8.8 | Paquets allant vers cette IP |
| tcp.port == 80 | Trafic TCP port 80 |
| http | Tout le trafic HTTP |
| http.request.method == GET | Requêtes HTTP GET uniquement |
| dns | Tout le trafic DNS |
| dns.qry.name contains google | Requêtes DNS contenant google |
| arp | Trames ARP |
| tcp.flags.syn == 1 | Paquets TCP avec flag SYN (connexions) |
| tcp.flags.rst == 1 | Paquets TCP RST (connexions réinitialisées) |
| !arp && !dns | Exclure ARP et DNS |
Filtre : tcp && ip.addr == VOTRE_IP Séquence à observer : 1. [SYN] Client → Serveur (demande de connexion) 2. [SYN, ACK] Serveur → Client (acceptation) 3. [ACK] Client → Serveur (confirmation) → Connexion établie En cas de port fermé : 1. [SYN] Client → Serveur 2. [RST, ACK] Serveur → Client (port fermé)
Filtre : dns Observer : - Requête (Query) : le client demande l'IP de www.google.fr - Réponse (Response) : le serveur DNS répond avec l'IP Dans le détail du paquet : Domain Name System (query) Queries: www.google.fr: type A, class IN Domain Name System (response) Answers: www.google.fr → 142.250.75.100
Filtre : arp
ARP normal : quelques requêtes/réponses ponctuelles
ARP suspect : centaines de requêtes ARP en quelques secondes
→ possible ARP spoofing ou boucle réseau
Follow TCP Stream reconstitue la conversation complète entre client et serveur :
1. Filtrer le trafic HTTP : filtre "http" 2. Clic droit sur un paquet HTTP 3. Follow > TCP Stream 4. La fenêtre affiche la conversation complète : - En rouge : données envoyées par le client (requête) - En bleu : données envoyées par le serveur (réponse) Utile pour : - Voir le contenu d'une requête HTTP non chiffrée - Analyser des transferts de fichiers FTP - Détecter des mots de passe en clair (Telnet, FTP, HTTP Basic Auth)
# Capturer 100 paquets sur eth0 sudo tshark -i eth0 -c 100 # Capturer uniquement le trafic HTTP sudo tshark -i eth0 -f "tcp port 80" # Sauvegarder dans un fichier .pcap sudo tshark -i eth0 -w /tmp/capture.pcap # Lire et filtrer un fichier .pcap existant tshark -r /tmp/capture.pcap -Y "http" # Afficher uniquement les IPs source/destination sudo tshark -i eth0 -T fields -e ip.src -e ip.dst
✅ Réponse : Le filtre de capture s'applique avant (réduit le volume), le filtre d'affichage après
✅ Réponse : http
✅ Réponse : Voir les paquets d'une seule connexion TCP reconstituée
✅ Réponse : 3 (SYN + SYN/ACK + ACK)
✅ Réponse : TLS chiffre le contenu — sans clé privée, impossible de déchiffrer