Prérequis
- Un accès root sur la machine où capturer
01Les options à connaître
-i choisit l’interface (any pour toutes, sous Linux) ; -nn affiche adresses et ports sans résolution de noms, plus rapide et plus lisible ; -c s’arrête après un nombre de paquets ; -v donne plus de détails ; -w écrit dans un fichier, -r le relit.
02Filtrer
Les filtres combinent host, net, port avec and, or et not. Entre guillemets dès qu’ils se compliquent.
# Tout ce qui concerne un hôte
tcpdump -i eth0 -nn host 192.168.10.20
# Les requêtes DNS
tcpdump -i eth0 -nn port 53
# Du HTTPS, sauf avec la passerelle
tcpdump -i eth0 -nn 'tcp port 443 and not host 192.168.10.1'
# Un sous-réseau entier
tcpdump -i eth0 -nn net 192.168.20.0/2403Capturer pour Wireshark
Sur un serveur sans interface graphique, capturez dans un fichier, rapatriez-le, et ouvrez-le dans Wireshark pour suivre les échanges à tête reposée.
tcpdump -i eth0 -nn -c 1000 -w capture.pcap 'port 443'
tcpdump -nn -r capture.pcap | head04Lire le résultat
Un SYN sans SYN-ACK en retour : le paquet part mais la réponse ne revient pas (pare-feu, route de retour). Un RST immédiat : le port est fermé sur la cible. Aucun paquet du tout : il n’arrive même pas sur l’interface.
À retenir
- -nn systématiquement.
- host, net, port + and/or/not.
- -w pour analyser ensuite dans Wireshark.
- SYN sans réponse, RST, rien du tout : trois diagnostics différents.