Guide pratique pour tcpdump

Imaginez avoir une loupe numérique pour observer chaque interaction de votre réseau en temps réel : tcpdump est justement cet outil. Que vous soyez administrateur réseau ou passionné de sécurité informatique, tcpdump permet de capturer, filtrer et analyser les paquets traversant vos interfaces réseau. C’est une solution incontournable pour diagnostiquer les problèmes de réseau, surveiller le trafic et détecter d’éventuelles menaces de sécurité. Dans ce guide, nous allons découvrir comment installer tcpdump, maîtriser sa syntaxe et explorer ses options essentielles pour une utilisation efficace.

Installation de tcpdump

Pour installer tcpdump sur Debian ou Ubuntu, exécutez les commandes suivantes :

sudo apt update
sudo apt install tcpdump

 

Assurez-vous d’avoir les droits administrateur, car tcpdump nécessite un accès privilégié aux interfaces réseau.

Syntaxe

La syntaxe de base de tcpdump est la suivante :

tcpdump [options] -i [interface] [filtres]

-i interface : spécifie l’interface réseau à surveiller. Si vous ne la précisez pas, tcpdump utilisera la première interface disponible.
options : contrôlent le format d’affichage et les fonctionnalités principales de l’outil.
filtres : permettent de trier les paquets et de n’afficher que ceux qui vous intéressent.

Les options principaler de tcpdump

Voici quelques-unes des options les plus utiles pour tcpdump :
-A : affiche tous les paquets en format ASCII.
-c [n] : arrête le programme après avoir capturé n paquets.
-D : liste les interfaces réseau disponibles.
-e : montre les informations de niveau liaison pour chaque paquet (par exemple, adresses MAC).
-f : affiche les noms de domaine au lieu des adresses IP.
-n : affiche uniquement les adresses IP sans résolution DNS.
-w [fichier] : enregistre la sortie dans un fichier.
-Z [utilisateur] : exécute sous l’utilisateur spécifié.

Astuce : Utilisez toujours l’option -nn pour éviter la résolution des adresses IP en noms de domaine et des numéros de port en noms de protocoles. Cela rend l’affichage plus rapide et plus lisible, surtout pour les analyses rapides de trafic.

Exemples de filtres courants

Les filtres de tcpdump sont très flexibles et peuvent inclure plusieurs critères combinés. Voici quelques exemples courants :
Protocole : pour capturer uniquement un type de trafic (TCP, UDP, ICMP, etc.)

sudo tcpdump -nn -c2 tcp

Pour arrêter l’exécution, appuyez sur CTRL+C.

 

Port spécifique : pour capturer uniquement le trafic d’un port précis.

sudo tcpdump -nn port 80

Cette commande ne capturera que les paquets passant par le port 80 (HTTP).
Adresse IP : pour capturer les paquets en provenance ou à destination d’une adresse IP spécifique.

sudo tcpdump -nn host 192.168.0.1

Combinaison de critères : vous pouvez combiner plusieurs filtres pour des analyses plus précises en utilisant les opérateurs and, or, not.

sudo tcpdump -nn src host 192.168.0.1 and port 22

Cette commande capture les paquets envoyés par l’hôte 192.168.1.1 vers le port 22 (SSH).

Filtrage avancé : Utilisez port not 22 pour exclure les paquets SSH du trafic, ce qui évite qu’ils saturent l’affichage. Cette technique est utile pour se concentrer sur d’autres protocoles.

Comment utiliser tcpdump

Listez les interfaces réseau disponibles
Utilisez la commande suivante pour voir quelles interfaces sont disponibles :

sudo tcpdump -D

 

 

Capturez tout le trafic sur une interface spécifique

La commande ci-dessous capture tout le trafic passant par eth0 :

sudo tcpdump -i eth0

Capturez les paquets d’un port spécifique

Pour capturer uniquement le trafic DNS (port 53) :

sudo tcpdump -i eth0 port 53

 

Capturez uniquement les paquets TCP

La commande suivante filtre pour ne capturer que les paquets TCP :

sudo tcpdump -i eth0 tcp

Enregistrez les paquets dans un fichier pour une analyse ultérieure

Cette commande enregistre les paquets capturés dans le fichier capture.pcap :

sudo tcpdump -i eth0 -w capture.pcap

Vous pourrez ensuite ouvrir ce fichier avec Wireshark pour une analyse approfondie.

Si vous devez capturer un grand nombre de paquets, redirigez la sortie vers un fichier pour une analyse plus tardive. Utilisez la commande suivante pour enregistrer directement dans un fichier texte :

sudo tcpdump -nn -i any > ~/tcpdump.txt

Cette technique est particulièrement utile lorsque vous devez analyser de longues sessions réseau.

Affichez les paquets dans un format lisible

Pour afficher le contenu des paquets en ASCII, utilisez :

sudo tcpdump -A -i eth0

Capturez un nombre précis de paquets

Capturez les 10 premiers paquets avec la commande suivante :

sudo tcpdump -c 10 -i eth0

tcpdump est un outil puissant et flexible pour analyser le trafic réseau et résoudre les problèmes de sécurité. La maîtrise des options et filtres de tcpdump permet de tirer le meilleur parti de ce logiciel, que ce soit pour le dépannage ou la surveillance active du réseau.

Bonne chance!