Commande tcpdump : apprenez à analyser les paquets de votre réseau

Grâce à la commande Linux tcpdump, vous pouvez analyser les paquets ayant été expédiés au sein de votre réseau. De nombreux filtres et options permettent d’optimiser cette analyse.

Qu’est-ce que Linux tcpdump ?

Pour l’analyse de votre trafic réseau sous Linux et la résolution éventuelle de problèmes de réseau, tcpdump est un outil particulièrement précieux. Le programme de ligne de commande est préinstallé sur presque toutes les distributions Linux courantes, comme Debian ou Ubuntu, et retransmet des informations à propos des paquets de données ayant été envoyés ou reçus sur votre réseau. Malgré son nom, Linux tcpdump n’est pas uniquement conçue pour les paquets TCP, mais peut également analyser les paquets UDP et ICMP. Vous devez disposer des droits d’administrateur pour utiliser la commande.

Comment fonctionne la commande tcpdump ?

L’analyse exécutée par tcpdump est également appelée « sniffing ». Grâce à la commande tcpdump, vous indiquez l’interface du réseau que le programme doit contrôler. De plus, de nombreux filtres permettent d’adapter et d’optimiser le processus. La commande est exécutée dans la ligne de commande où sont ensuite également indiqués les résultats correspondants de l’analyse.

Quelle est la syntaxe de la commande tcpdump ?

La syntaxe de Linux tcpdump est très simple et se présente de la manière suivante :

$ tcpdump [Options] [Filtre]
bash

Bien qu’il ne soit pas obligatoire d’indiquer des options pour s’assurer que la commande tcpdump prend en considération la bonne interface réseau, cela est toutefois recommandé. Les filtres sont également facultatifs. Néanmoins, si aucun filtre n’est mentionné, Linux tcpdump analyse tous les paquets de tous les hôtes; ce qui peut rapidement devenir confus.

Quels sont les options et filtres de la commande tcpdump ?

tcpdump possède de nombreux filtres et options. Voici les principales options :

  • -A : cette option permet de présenter le contenu d’un paquet en code ASCII.
  • -c [Nombre] : tcpdump est automatiquement arrêtée lorsqu’un nombre défini de paquets a été analysé.
  • -D : avec cette option, toutes les interfaces disponibles sont répertoriées.
  • -i [Interface] : avec cette option, vous déterminez quelle interface doit être enregistrée.
  • -s [Nombre] : cette option détermine combien d’octets par paquet doivent être enregistrés.

Ces filtres peuvent être utilisés pour tcpdump :

  • dst : seuls sont analysés les paquets dont la cible affiche la valeur prédéfinie. Il peut s’agir des valeurs suivantes : host, net, port ou portrange.
  • host : ce filtre veille à ce que seuls soient pris en considération les paquets qui présentent une adresse IP spécifique ou un nom d’hôte spécifique comme source ou cible.
  • net : ce filtre tient uniquement compte des paquets qui présentent une adresse IP d’un domaine réseau spécifique comme source ou cible.
  • port : ce filtre vous permet d’indiquer un port spécifique entre 0 et 65535 qui doit être exclusivement analysé.
  • portrange : ce filtre contient une plage de ports entre 0 et 65535 qui doit être exclusivement analysée.
  • proto : ce filtre tient uniquement compte des paquets ayant un protocole réseau spécifique. Le filtre peut afficher les valeurs suivantes : arp, decnet, ether, fddi, ip, ip6, rarp, tcp, udp ou wlan.
  • src : avec ce filtre, seuls sont analysés les paquets dont la source indique une valeur spécifique. Il peut s’agir de host, net, port ou portrange.

Exemples d’utilisation de la commande tcpdump

Pour finir, nous vous expliquons de manière plus détaillée comment vous pouvez utiliser tcpdump. Dans nos exemples, nous utilisons la commande sudo sous Linux.

$ sudo tcpdump -D
bash

Vous vérifiez tout d’abord quelles interfaces réseau existent.

$ sudo tcpdump -i wlx14a3c782966b
bash

Ici, vous analysez uniquement l’interface dont le nom est indiqué.

$ sudo tcpdump -c 5 -i wlx14a3c782966b
bash

Avec cette commande tcpdump, vous ordonnez que seuls cinq paquets soient enregistrés.