Comment utiliser tcpdump pour la capture de paquets

Comment utiliser Tcpdump pour la capture de paquets Image en vedette

La capture de paquets est un moyen très utile d’analyser le fonctionnement interne d’un réseau. Il existe une variété d’outils différents développés à cette fin. L’un d’eux est tcpdump. Ici, nous vous montrons comment tirer le meilleur parti de cet excellent outil pour les ingénieurs réseau et les testeurs de pénétration.

Table des matières

  • Qu’est-ce que tcpdump ?
  • Installation
  • Les bases
  • Spécifier une interface réseau
  • Spécifier un port/une plage de ports
  • Spécifier un hôte ou un sous-réseau
  • Spécifier la verbosité
  • Enregistrer la capture dans un fichier
  • Questions fréquentes

À lire aussi : Tor vs. VPN : L’un est-il meilleur que l’autre ?

Qu’est-ce que tcpdump ?

tcpdump est un outil d’analyse de paquets réseau qui a été développé et publié en 1988 par une équipe de scientifiques informatiques travaillant au Lawrence Berkeley Laboratory et à son groupe de recherche sur les réseaux. Il est utilisé pour afficher le contenu des paquets qu’un ordinateur envoie et reçoit. L’utilitaire est livré avec une variété d’options pour rendre la capture de paquets plus spécifique et ciblée. Certaines de ces options incluent différents protocoles de réseau et interfaces réseau.

Installation

De nombreuses distributions Linux sont livrées avec l’utilitaire préinstallé. Cependant, si votre distribution de choix ne l’a pas, l’installation est heureusement rapide et simple.

Si vous utilisez par exemple Ubuntu ou Debian, il peut être installé en utilisant apt :

sudo apt install tcpdump

Sur CentOS, la même chose se fait en utilisant yum :

sudo yum install tcpdump

Et sur Arch Linux en utilisant pacman :

sudo pacman -S tcpdump

À lire aussi : Qu’est-ce que le routage oignon et comment récupérer votre confidentialité

Les bases

Avec tcpdump installé, vous pouvez consulter le manuel en utilisant le drapeau -h :

tcpdump -h

Cela vous montre une liste des drapeaux que vous pouvez utiliser lorsque vous utilisez l’outil.

Commande d'aide Tcpdump

Si vous souhaitez jeter un coup d’œil à un manuel plus complet et détaillé, vous pouvez consulter la page de manuel (manuelle) en utilisant la commande man :

man tcpdump

Page de manuel Tcpdump

Vous pouvez exécuter une capture de paquets de base en tapant :

tcpdump

En utilisant la commande seule et en ne spécifiant pas d’interface réseau, l’outil en choisira une parmi les interfaces disponibles sur votre système.

Si vous ne voulez pas que tcpdump résolve les noms d’hôtes et que vous souhaitez qu’il n’affiche que les adresses IP, vous pouvez utiliser le drapeau -n :

tcpdump -n

Si vous voulez spécifier le nombre de paquets que vous souhaitez capturer, utilisez le drapeau -c :

tcpdump -c[nombre de paquets]

Spécifier une interface réseau

Vous pouvez spécifier votre choix d’interface réseau en utilisant le drapeau -i :

tcpdump -i[interface]

Deux des noms d’interface réseau les plus courants sur la plupart des systèmes sont eth0 et wlan0 :

tcpdump -i eth0  
tcpdump -i wlan0

Si vous souhaitez capturer des données sur toutes les interfaces, vous pouvez utiliser l’option any :

tcpdump -i any

À lire aussi : Switch Ethernet vs. Hub vs. Splitter : Quelle est la différence ?

Spécifier un port/une plage de ports

Si vous souhaitez uniquement capturer des données utilisant un numéro de port spécifique, utilisez la commande :

tcpdump -i[interface] port [numéro de port]

Disons que vous souhaitez capturer le trafic sur l’interface eth0 et pour le port 443 (HTTPS). Tapez ce qui suit :

tcpdump -i eth0 port 443

De plus, tcpdump vous permet de spécifier une plage de ports :

tcpdump -i[interface] portrange [plage de ports]

Spécifier un hôte ou un sous-réseau

Il y aura des fois où vous souhaitez limiter les paquets capturés uniquement à ceux envoyés/reçus d’un hôte ou sous-réseau spécifique. Heureusement, tcpdump vous permet de le faire.

Vous pouvez spécifier un hôte en utilisant le format suivant :

tcpdump -i[interface] host [hôte]

Par exemple, capturez le trafic sur l’interface eth0 et spécifiez l’hôte comme 127.0.0.1 (votre propre adresse IP de bouclage) :

tcpdump -i eth0 host 127.0.0.1

Si vous souhaitez spécifier un sous-réseau utilisant la notation CIDR, vous pouvez utiliser le format suivant :

tcpdump -i[interface] net [sous-réseau]

Par exemple :

tcpdump -i eth0 net 10.0.0.0/8

Vous pouvez également spécifier directement un hôte source :

tcpdump -i[interface] src [hôte]

Et un hôte de destination :

tcpdump -i[interface] dst [hôte]

À lire aussi : Comment exécuter Nmap sans root ou sudo

Spécifier la verbosité

tcpdump vous permet de spécifier la verbosité de la capture de paquets. Cela est très utile lorsque vous ne souhaitez pas être submergé par la quantité d’informations lors d’une capture.

Il y a trois options incitatives pour la verbosité, les drapeaux -v, -vv et -vvv :

tcpdump -i[interface]-v  
tcpdump -i[interface]-vv  
tcpdump -i[interface]-vvv

La première option spécifie la moindre verbosité, tandis que la troisième option spécifie le plus.

Enregistrer la capture dans un fichier

Il est souvent utile de sauvegarder les données capturées dans un fichier, afin qu’elles puissent être analysées et interprétées plus tard.

Cela se fait en utilisant le drapeau -w :

tcpdump -i[interface]-w[nom de fichier]

Par exemple, vous pouvez sauvegarder les données capturées dans un fichier appelé “capture.txt” :

tcpdump -i eth0 -w capture.txt

À lire aussi : Comment ouvrir des ports et configurer le transfert de ports sur votre routeur

Questions fréquentes

1. J’ai reçu une erreur “Opération non autorisée”. Comment la résoudre ?

Voici une erreur courante que les utilisateurs peuvent recevoir lorsqu’ils essaient d’utiliser tcpdump :

Erreur Tcpdump opération non autorisée

tcpdump vous donne cette erreur lorsque vous n’avez pas les permissions nécessaires pour effectuer une capture de paquets. Dans la plupart des scénarios, vous pouvez résoudre cela en utilisant sudo. Par exemple :

sudo tcpdump -i eth0

2. Comment savoir quelles interfaces réseau sont disponibles ?

tcpdump dispose d’une fonctionnalité intégrée qui vous permet de vérifier les interfaces réseau disponibles sur votre système.

Pour vérifier les interfaces, utilisez le drapeau -D :

tcpdump -D