Une capture de plusieurs gigaoctets ouverte dans Wireshark, c'est le meilleur moyen de perdre deux heures. Je travaille toujours en ligne de commande d'abord, et je ne passe au graphique qu'une fois la fenêtre de temps réduite.
Passe 1 — la forme du trafic
Avant tout contenu, la silhouette :
capinfos capture.pcap
tshark -r capture.pcap -q -z conv,tcp | head -30
tshark -r capture.pcap -q -z io,phs
conv,tcp classe les conversations par volume, io,phs donne la hiérarchie des protocoles. En deux commandes, on sait si on cherche une exfiltration, un balayage ou un incident applicatif.
Passe 2 — réduire la fenêtre
On découpe autour de l'horodatage de l'alarme, jamais avant :
editcap -A "2022-06-08 13:55:00" -B "2022-06-08 14:15:00" \
capture.pcap fenetre.pcap
Vingt minutes de trafic, c'est manipulable. Deux heures, non.
Passe 3 — les questions utiles
- Qui parle à qui pour la première fois ? Un couple IP jamais vu dans les captures de référence vaut dix alertes.
- Les résolutions DNS :
tshark -r fenetre.pcap -Y "dns.flags.response==0" -T fields -e dns.qry.name | sort -u - Les tailles régulières : un transfert périodique de charge utile identique est rarement un humain.
Passe 4 — l'interface graphique
Seulement maintenant. Follow TCP stream sur les deux ou trois conversations retenues, et l'export d'objets HTTP si le protocole s'y prête.
Ce que j'ai appris à faire systématiquement
Noter l'heure de l'alarme, l'heure système de la sonde et le décalage entre les deux avant de commencer. Un décalage de fuseau non documenté a déjà envoyé une analyse entière au mauvais endroit.
Et conserver la capture d'origine en lecture seule : toute manipulation se fait sur une copie découpée.