Arkendia Classrooms
Leçon 5 sur 28 · 18 min

Wireshark et la capture de paquets

Jusqu'ici, tout ce que nous avons dit des paquets, des ports et des poignées de main était théorique. Il est temps de les voir de vos propres yeux. Wireshark est un analyseur de trafic libre et gratuit, utilisé par les administrateurs, les équipes de défense et les testeurs de sécurité du monde entier. Cette leçon vous apprend à capturer du trafic sur vos propres machines et à y repérer ce qui compte.

Dans le chapitre précédent, vous avez découvert les couches, les ports et HTTP. Wireshark va rendre ces notions tangibles : vous verrez littéralement l'encapsulation et la poignée de main TCP défiler à l'écran. Ouvrez votre carnet de laboratoire : vous y noterez vos premières observations.

Qu'est-ce qu'un analyseur de paquets ?

Un analyseur de paquets (sniffer) enregistre les trames qui passent par une carte réseau et les décode pour les rendre lisibles. Wireshark montre chaque paquet, couche par couche, avec une explication de chaque champ. C'est l'équivalent d'un microscope pour le réseau : il sert à comprendre un dysfonctionnement, à vérifier qu'une application chiffre bien ses échanges, ou à étudier une attaque après coup.

Il existe aussi une version en ligne de commande, tshark, et un format de fichier standard (.pcap ou .pcapng) pour sauvegarder une capture et la partager avec des collègues.

Cadre légal et éthique. Intercepter des communications qui ne vous appartiennent pas, par exemple écouter le Wi-Fi d'un voisin, d'un café ou d'une entreprise sans autorisation, est un délit. Dans ce cours, vous ne capturez que le trafic de vos propres machines et de votre laboratoire. Une capture contient souvent des données personnelles (noms, adresses, parfois des mots de passe) : conservez-la comme une donnée sensible et supprimez-la quand vous n'en avez plus besoin.

Installer et lancer une première capture

Wireshark s'installe sur Windows, macOS et Linux depuis le site du projet ou le gestionnaire de paquets de votre système (sous Debian et Kali : sudo apt install wireshark). Lors de l'installation, acceptez le composant de capture proposé : il est nécessaire pour accéder aux cartes réseau. Sous Linux, l'installateur vous propose d'autoriser les utilisateurs non administrateurs à capturer : cela évite de lancer l'interface graphique avec des droits élevés, ce qui est plus prudent.

Au démarrage, Wireshark liste vos interfaces avec un petit graphique d'activité. Choisissez celle qui bouge quand vous naviguez (Wi-Fi ou Ethernet), ou l'interface de bouclage (loopback) pour observer le trafic local d'une machine vers elle-même. Double-cliquez : la capture démarre. Le bouton carré rouge l'arrête.

Lire l'écran principal

La fenêtre se divise en trois zones :

  1. La liste des paquets (en haut) : numéro, horodatage, source, destination, protocole, longueur, résumé. Les couleurs aident à distinguer les protocoles.
  2. Le détail du paquet sélectionné (au milieu) : un arbre dépliable qui reprend les couches, de Frame (la trame) jusqu'à l'application, en passant par Ethernet, IP et TCP. C'est l'encapsulation, visible concrètement.
  3. Les octets bruts (en bas) : la représentation hexadécimale et le texte brut.

Cliquez sur un paquet et dépliez chaque couche : vous retrouverez les adresses MAC (Ethernet), les adresses IP (IPv4), les ports (TCP) et les données applicatives. Sur un trafic en clair, vous lirez même le texte de la requête.

Capturer trop, c'est comme boire à une lance d'incendie

Quelques secondes de navigation produisent des centaines de paquets. Wireshark propose deux types de filtres, qu'il ne faut pas confondre :

  • Le filtre de capture est appliqué avant l'enregistrement : seuls les paquets qui correspondent sont gardés. Il utilise une syntaxe simple (BPF), par exemple port 53 ou host 192.168.56.101. Il allège la capture, mais ce qui n'est pas enregistré est perdu.
  • Le filtre d'affichage est appliqué après : tout est enregistré, mais l'on n'affiche que ce qui nous intéresse. Sa syntaxe est propre à Wireshark. C'est le plus utilisé, car on peut le changer à volonté sans rien perdre.

Vos premiers filtres d'affichage

Saisissez-les dans la barre située au-dessus de la liste (elle devient verte quand le filtre est valide) :

dns
http
arp
tcp.port == 8000
ip.addr == 192.168.56.101
ip.src == 192.168.56.101 && tcp.port == 443
tcp.flags.syn == 1 && tcp.flags.ack == 0
!arp && !dns
frame contains "labo"

Chaque filtre se lit presque comme une phrase : dns n'affiche que les requêtes et réponses DNS ; tcp.port == 8000 les paquets dont le port TCP source ou destination est 8000 ; tcp.flags.syn == 1 && tcp.flags.ack == 0 les tout premiers paquets des connexions (le SYN de la poignée de main). Les opérateurs && (et), || (ou) et ! (non) permettent de les combiner. Le dernier exemple cherche un mot précis dans le contenu des paquets.

Un clic droit sur un champ dans le détail propose « Appliquer comme filtre » : c'est le moyen le plus simple d'apprendre la syntaxe sans la mémoriser.

Suivre une conversation

Sélectionnez un paquet TCP, puis faites un clic droit : Suivre > Flux TCP. Wireshark reconstitue l'échange complet, requêtes d'un côté, réponses de l'autre, dans deux couleurs. Sur un échange HTTP en clair, vous lisez directement la page échangée. Le menu Statistiques propose aussi des vues synthétiques : Conversations (qui parle à qui, combien d'octets) et Hiérarchie de protocoles (la répartition du trafic par protocole). Pour une première analyse d'un trafic inconnu, ces deux vues donnent un aperçu rapide.

Ce que Wireshark ne vous montre pas

Deux limites à garder en tête. D'abord, vous ne voyez que ce qui passe devant votre carte réseau : sur un réseau commuté (switch), vous ne voyez normalement que votre propre trafic et la diffusion, pas celui des autres. Ensuite, le trafic chiffré (HTTPS, SSH, VPN) apparaît, mais son contenu n'est pas lisible : vous verrez des paquets TLS et des suites d'octets sans signification. C'est précisément la preuve que le chiffrement fonctionne. Vous pouvez aussi voir, même en HTTPS, certaines informations de contexte : les adresses IP, les tailles, les horaires, et selon les cas le nom du serveur demandé.

À vous de jouer

Voici un exercice 100 % local, qui reprend le mini serveur de la leçon précédente.

  1. Dans un terminal, créez un petit dossier de test et lancez python3 -m http.server 8000 comme dans le chapitre 1.
  2. Dans Wireshark, démarrez une capture sur l'interface de bouclage (loopback).
  3. Dans un autre terminal, exécutez curl http://127.0.0.1:8000/.
  4. Arrêtez la capture et appliquez le filtre tcp.port == 8000.

Dans votre carnet, répondez : combien de paquets composent la poignée de main ? Quelle ligne contient la requête HTTP ? Quel code de statut renvoie le serveur ? Que donne un clic droit > Suivre > Flux TCP ?

Voir une solution

Les trois premiers paquets sont la poignée de main : SYN, SYN, ACK, ACK. Suit un paquet HTTP dont le résumé commence par GET / HTTP/1.1, puis la réponse HTTP/1.0 200 OK. Viennent enfin les paquets de fermeture (FIN, ACK). Le flux TCP affiche en rouge la requête envoyée par curl et en bleu la réponse du serveur, y compris les en-têtes et le contenu de la page, parce que tout circule en clair. Si vous refaites l'exercice avec un site en HTTPS, vous ne verrez que des paquets TLS illisibles.

Astuce. Enregistrez vos captures d'entraînement dans un dossier de votre laboratoire (par exemple captures/) avec un nom explicite (2026-handshake-tcp.pcapng) et annotez-les dans votre carnet. Vous pourrez vous en servir de référence plus tard.

À retenir

  • Wireshark capture et décode les paquets couche par couche : trame, IP, TCP, application.
  • On ne capture que le trafic de ses propres machines ou d'un réseau autorisé par écrit.
  • Un filtre de capture limite ce qui est enregistré ; un filtre d'affichage trie ce qui est montré.
  • Les filtres dns, arp, ip.addr ==, tcp.port == et « Suivre le flux TCP » couvrent l'essentiel des premiers besoins.
  • Le trafic chiffré reste illisible : c'est la preuve de l'utilité de HTTPS.

Avec Wireshark, vous savez maintenant lire un trafic. Dans la leçon suivante, vous allez l'utiliser pour observer un protocole discret et ancien, mais fondamental, et comprendre pourquoi il pose problème : ARP.

Publicité
Connectez-vous pour enregistrer votre progression. Se connecter