EN
en direct

Les paquets ne mentent jamais — le guide du forensic réseau avec tcpdump, Wireshark et Zeek

Un attaquant peut effacer les logs, modifier les horodatages et désactiver l’EDR. Il ne peut pas faire disparaître les paquets qui ont traversé le réseau. Voici comment les capturer, les analyser et les transformer en preuves irréfutables avec trois outils incontournables.

Une loupe de détective posée sur un câble réseau Ethernet, révélant des paquets de données lumineux — illustration ETTAYEB

En mai 2025, un ransomware ciblait une PME européenne. L’attaquant avait effacé les logs Windows, corrompu l’historique bash et désactivé l’EDR avant de chiffrer les disques. Une seule source de vérité a survécu : le PCAP enregistré par le TAP réseau du SOC, qui contenait l’intégralité des paquets échangés entre le poste compromis et le serveur C2 pendant les 72 heures précédant le chiffrement. En janvier 2026, l’équipe CERT-FR documentait une campagne d’exfiltration où les logs SIEM pointaient vers une activité « normale » : c’est l’analyse des flux DNS dans un PCAP vieux de trois semaines qui a révélé le tunneling.

Les logs applicatifs mentent quand l’attaquant a root. Les alertes SIEM sont aveugles face à un protocole custom. Les paquets réseau, eux, ne mentent jamais — et c’est toute la discipline du forensic réseau.

tcpdump — le scalpel qui voit tout en une ligne

tcpdump est l’outil de capture le plus ancien et le plus universel. Créé en 1988 par Van Jacobson, Sally Floyd, Vern Paxson et Steven McCanne au Lawrence Berkeley Laboratory, il reste en 2026 le premier réflexe de tout administrateur face à un incident réseau. La version stable actuelle, 4.99.6 (décembre 2025), prépare le terrain pour la future 5.0 et repose sur libpcap 1.10.6, qui corrige notamment les vulnérabilités CVE-2025-11961 et CVE-2025-11964.

La force de tcpdump tient en un mot : BPF (Berkeley Packet Filter). Ce langage de filtre, compilé en bytecode dans le kernel avant même que les paquets ne remontent en espace utilisateur, permet d’isoler chirurgicalement le trafic pertinent sans saturer le disque. Un filtre BPF bien écrit, c’est la différence entre capturer 50 Go de bruit et 2 Mo de preuves.

Voici les filtres BPF qui résolvent 90 % des incidents :

bash
# Tout le trafic entre un poste suspect et Internet (sauf SSH admin)
tcpdump -i eth0 -w incident.pcap 'host 192.168.1.47 and not port 22'

# Uniquement les requêtes DNS (port 53) — souvent le premier indicateur de C2
tcpdump -i eth0 -w dns.pcap 'port 53'

# Les SYN sortants anormaux (reconnaissance réseau post-compromission)
tcpdump -i eth0 -w syn-scan.pcap 'tcp[tcpflags] & (tcp-syn) != 0 and tcp[tcpflags] & (tcp-ack) == 0'

# Chasse au beaconing C2 : toutes les 60 secondes, paquet de 512 octets
tcpdump -i eth0 -w beacon.pcap 'len == 512'

L’option -w écrit dans un fichier PCAP — le format universel de forensic réseau — que vous pourrez rouvrir avec Wireshark ou Zeek. L’option -C 100 segmente automatiquement en fichiers de 100 Mo pour les captures longue durée. Et -G 3600 -w capture_%Y%m%d-%H%M.pcap tourne par tranches horaires sur un serveur de surveillance.

Le point aveugle de tcpdump est l’analyse post-capture. Lire un PCAP dans le terminal est possible (tcpdump -r), mais dès qu’on dépasse quelques centaines de paquets, le cerveau humain décroche. C’est là que Wireshark prend le relais.

Wireshark — le microscope qui transforme les octets en conversation

Wireshark (anciennement Ethereal, renommé en 2006 pour des raisons de marque) est l’analyseur graphique de référence. La version 4.6.7, publiée le 8 juillet 2026 — la veille de cet article — corrige un nombre important de vulnérabilités issues de rapports assistés par IA, signe que même l’outil d’analyse réseau devient une cible. La Wireshark Foundation, créée en 2023 sous l’égide de Sysdig, garantit la pérennité du projet.

Là où tcpdump montre des lignes, Wireshark montre une histoire. Ses trois capacités qui changent tout en forensic :

Le suivi de flux TCP. Clic droit → FollowTCP Stream. Wireshark reconstitue la conversation complète entre deux endpoints : requêtes HTTP, réponses, transferts de fichiers. En forensic, c’est votre première action après avoir chargé un PCAP. Un attaquant a téléchargé un payload via HTTP ? Le flux TCP vous montre la requête GET, le code 200, et le binaire en clair si le transfert n’était pas chiffré.

Les filtres d’affichage. Contrairement aux filtres BPF qui agissent au moment de la capture, les filtres d’affichage Wireshark opèrent sur un PCAP déjà enregistré. La syntaxe est différente et plus expressive :

bash
# Tout le trafic HTTP vers une IP suspecte
http && ip.dst == 203.0.113.42

# Paquets TCP avec le flag RST (tentatives de kill de connexion)
tcp.flags.reset == 1

# Certificats TLS avec un Common Name suspect
tls.handshake.certificate && x509sat.commonName contains "evil"

# Requêtes DNS avec un TTL anormalement bas (fast-flux C2)
dns && dns.resp.ttl < 60

Les statistiques. Le menu Statistics transforme un PCAP de plusieurs gigaoctets en tableaux de bord exploitables : Endpoints classe les IP par volume de trafic, Protocol Hierarchy ventile par protocole, Conversations montre qui parle à qui. En 30 secondes, vous savez si le poste compromis a exfiltré des données vers une IP inhabituelle — sans avoir lu un seul paquet.

TShark, la version CLI de Wireshark, est l’arme secrète du forensic automatisé. Là où tcpdump capture, TShark analyse :

bash
# Extraire tous les User-Agents HTTP d'un PCAP en une commande
tshark -r incident.pcap -Y 'http.user_agent' -T fields -e http.user_agent | sort | uniq -c | sort -rn

# Lister les 10 IP qui ont envoyé le plus de paquets DNS
tshark -r dns.pcap -Y 'dns' -T fields -e ip.src | sort | uniq -c | sort -rn | head -10

Zeek — l’interrogateur qui ne dort jamais

Si tcpdump est le témoin oculaire et Wireshark le microscope, Zeek est l’enquêteur qui lit automatiquement tous les dossiers et sort les fiches récapitulatives avant même que vous n’arriviez. Créé en 1995 par Vern Paxson sous le nom Bro — un clin d’œil orwellien à Big Brother —, renommé en 2018, Zeek est un Network Security Monitor qui transforme le trafic réseau en logs structurés et interrogeables. La version 8.2.1, publiée le 10 juillet 2026, pilote cette machine.

Zeek ne bloque rien. Il observe passivement le trafic réseau et génère 70+ fichiers de logs par défaut : connexions, DNS, HTTP, SSL/TLS, SSH, SMB, Kerberos, et des dizaines d’autres protocoles. Chaque log est un fichier TSV horodaté, conçu pour être ingéré par un SIEM ou requêté directement.

L’exemple canonique : un conn.log après 24 heures de capture sur un réseau de PME contient des milliers de lignes. Une simple recherche des connexions dont la durée est inférieure à 100 ms et dont l’état est S0 (SYN envoyé, pas de réponse) identifie immédiatement un scan de ports :

bash
cat conn.log | zeek-cut id.orig_h id.resp_h id.resp_p duration conn_state | awk '$4 < 0.1 && $5 == "S0"'

Zeek détecte aussi les patterns que les signatures IDS classiques ratent. Un beaconing C2 sur HTTPS ressemble à du trafic légitime — sauf que Zeek calcule l’intervalle moyen entre connexions sortantes vers une même IP. Quand une machine contacte 203.0.113.99 toutes les 127 secondes avec une variance inférieure à 2 %, vous tenez un beacon — même si le payload est chiffré et le certificat valide.

L’installation est standard sur n’importe quel Linux récent :

bash
# Debian/Ubuntu
echo 'deb http://download.opensuse.org/repositories/security:/zeek/Debian_12/ /' | sudo tee /etc/apt/sources.list.d/security:zeek.list
curl -fsSL https://download.opensuse.org/repositories/security:zeek/Debian_12/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/security_zeek.gpg > /dev/null
sudo apt update && sudo apt install zeek

Le moteur tourne sur une interface en mode passif — typiquement un SPAN port ou un TAP réseau — et écrit ses logs dans /usr/local/zeek/logs/current/. La communauté maintient 270+ packages dans le Zeek Package Manager (zkg), couvrant la détection de ransomware, l’analyse de certificats TLS suspects ou l’intégration avec Elasticsearch.

La chaîne forensic — du paquet à la preuve

Un incident réseau se lit en trois passes, et l’ordre compte.

Passe 1 — Capturez tout, filtrez après. La première erreur du forensic est de sous-capturer. Un filtre BPF trop agressif au moment de la capture supprime définitivement les paquets que vous n’aviez pas anticipés. Sur un serveur de monitoring, privilégiez une capture complète avec rotation :

bash
tcpdump -i eth0 -w /data/pcap/traffic_%Y%m%d_%H%M.pcap -G 3600 -C 500 -W 168

Ce one-liner conserve 168 heures de trafic en tranches horaires de 500 Mo maximum. Assez pour remonter une semaine en arrière quand le SOC détecte un mouvement latéral avec trois jours de retard.

Passe 2 — Isolez avec Wireshark. Ouvrez le PCAP correspondant à la fenêtre temporelle de l’incident. Première action : StatisticsConversations pour identifier l’IP anormale. Deuxième action : Display Filter sur cette IP. Troisième action : Follow TCP Stream pour lire la conversation complète. Exportez le flux en texte brut : c’est votre première pièce de l’investigation.

Passe 3 — Automatisez la détection avec Zeek. Rejouez le même PCAP dans Zeek (zeek -r incident.pcap) et interrogez les logs générés. Croisez les conn.log, dns.log et ssl.log pour reconstruire la timeline de l’attaque : première connexion anormale, résolution DNS du C2, téléchargement du payload, beaconing post-infection.

Le verdict — un outil par phase, jamais un seul

Le forensic réseau n’a pas d’outil miracle. Il a un trio qui se complète :

  • tcpdump pour la capture fiable et légère. C’est le seul outil qui tourne sur un serveur de production sans impact mesurable. Si vous ne devez en retenir qu’un, apprenez les filtres BPF — c’est un skill qui vous servira sur chaque incident jusqu’à la fin de votre carrière.
  • Wireshark pour l’analyse interactive. Le suivi de flux TCP et les statistiques de conversations vous font gagner des heures par rapport à une lecture brute de PCAP. À installer sur votre poste d’analyse — pas sur le serveur compromis.
  • Zeek pour la détection automatisée et la génération de logs structurés. C’est le choix des SOC qui traitent plus d’un incident par semaine. Le coût d’entrée (apprendre le langage de scripts Zeek) est réel, mais le retour est immédiat dès que vous devez corréler des événements sur plusieurs jours de trafic.

Un dernier conseil qui vaut pour les trois : testez votre chaîne de capture avant l’incident. Un TAP configuré à l’envers, un SPAN port qui drop les paquets en charge, un filtre BPF qui exclut silencieusement le trafic IPv6 — ces erreurs se découvrent le jour où vous en avez besoin. Lancez une capture de 24 heures, ouvrez-la dans Wireshark, et vérifiez que vous voyez ce que vous pensez capturer. Le jour de l’incident, il sera trop tard.

Références

Le brief cyber, chaque mardi

Les failles qui comptent, les correctifs à appliquer, en dix minutes de lecture.

Pas de spam. Désinscription en un clic.
à lire ensuite

Sur le même sujet

Vos APIs sont la porte d’entrée de votre business — un API Gateway les protège, les mesure et les accélère

Vos APIs ne sont plus des tuyaux internes — ce sont vos produits. Un API Gateway centralise le rate limiting, l’authentification, le caching et les analytics que chaque microservice devrait sinon réinventer dans son code. Kong, Traefik et Tyk incarnent trois architectures distinctes : voici comment choisir celle qui ne vous ralentira pas.

← Retour au fil

Tapez au moins deux caractères.

naviguer ouvrir esc fermer