Comment capturer et analyser les paquets par exemple avec Tcpdump

Comment Capturer Et Analyser Les Paquets Par Exemple Avec Tcpdump



Tcpdump est un puissant outil d'analyse de réseau utilisé pour l'analyse du trafic réseau sur les systèmes Linux et macOS. Les administrateurs réseau utilisent tcpdump pour détecter, capturer et analyser les paquets TCP/IP. Il utilise une bibliothèque « libpcap » qui permet de capturer efficacement le trafic réseau. De plus, tcpdump aide au dépannage du réseau et à la surveillance périodique des activités du réseau. Cet outil stocke les données capturées dans un fichier « pcap ». Ces fichiers sont ensuite analysés à l'aide d'un outil d'analyse de paquets TCP/IP tel que Wireshark ou via un autre outil de ligne de commande.

Dans ce guide, nous montrerons comment installer tcpdump sur un système Linux et comment capturer et analyser les paquets TCP/IP à l'aide de tcpdump.

Comment installer Tcpdump

Tcpdump est préinstallé sur de nombreuses distributions Linux. Mais s'il n'est pas déjà installé sur votre système, vous pouvez installer tcpdump sur votre système Linux. Pour installer tcpdump sur le système Ubuntu 22.04, utilisez la commande suivante :







$ sudo apt installer tcpdump

Pour installer tcpdump sur Fedora/CentOS, utilisez la commande suivante :



$ sudo dnf installer tcpdump

Comment capturer les paquets à l'aide de la commande Tcpdump

Pour capturer les paquets avec tcpdump, lancez le terminal avec les privilèges sudo en utilisant « Ctrl+Alt+t ». Cet outil comprend différentes options et filtres pour capturer les paquets TCP/IP. Si vous souhaitez capturer tous les paquets circulant de l'interface réseau actuelle ou par défaut, utilisez la commande « tcpdump » sans aucune option.



$ sudo tcpdump

La commande donnée capture les paquets de l'interface réseau par défaut de votre système.





A la fin de l'exécution de cette commande, tous les comptages de paquets capturés et filtrés sont affichés sur le terminal.



Comprenons le résultat.

Tcpdump permet l'analyse des en-têtes des paquets TCP/IP. Il affiche une seule ligne pour chaque paquet et la commande continue de s'exécuter jusqu'à ce que vous appuyiez sur « Ctrl+C » pour l'arrêter.

Chaque ligne fournie par tcpdump contient les détails suivants :

  • Horodatage Unix (par exemple, 02:28:57.839523)
  • Protocole (IP)
  • Nom d'hôte ou IP source et numéro de port
  • Nom d'hôte ou IP de destination et numéro de port
  • Indicateurs TCP (par exemple, Flags [F.]) indiquant l'état de la connexion avec des valeurs telles que S (SYN), F (FIN). (ACK), P (PUSH), R (RST)
  • Numéro de séquence des données dans le paquet (par exemple, seq 5829:6820)
  • Numéro d'accusé de réception (par exemple, accusé de réception 1016)
  • Taille de la fenêtre (par exemple, win 65535) représentant les octets disponibles dans le tampon de réception suivi des options TCP
  • Longueur de la charge utile de données (par exemple, longueur 991)

Pour lister toutes les interfaces réseau de votre système, utilisez la commande « tcpdump » avec l'option « -D ».

$ sudo tcpdump -D

ou

$ tcpdump --list-interfaces

Cette commande répertorie toutes les interfaces réseau connectées ou exécutées sur votre système Linux.

Capturez les paquets de l'interface réseau spécifiée

Si vous souhaitez capturer les paquets TCP/IP qui transitent par une interface spécifique, utilisez l'indicateur « -i » avec la commande « tcpdump » et spécifiez le nom de l'interface réseau.

$ sudo tcpdump -je lo

La commande donnée capture le trafic au niveau de l'interface « lo ». Si vous souhaitez afficher des informations détaillées ou détaillées sur le paquet, utilisez l'indicateur « -v ». Pour imprimer des détails plus complets, utilisez l'indicateur « -vv » avec la commande « tcpdump ». Une utilisation et une analyse régulières contribuent à maintenir un environnement réseau robuste et sécurisé.

De même, vous pouvez capturer le trafic sur n'importe quelle interface à l'aide de la commande suivante :

$ sudo tcpdump -i n'importe quel

Capturez les paquets à l'aide d'un port spécifique

Vous pouvez capturer et filtrer les paquets en spécifiant le nom de l'interface et le numéro de port. Par exemple, pour capturer les paquets réseau qui transitent par l'interface « enp0s3 » en utilisant le port 22, utilisez la commande suivante :

$ tcpdump -i enp0s3 port 22

La commande précédente capture tous les paquets circulant depuis l'interface « enp0s3 ».

Capturez les paquets limités avec Tcpdump

Vous pouvez utiliser l'indicateur « -c » avec la commande « tcpdump » pour capturer un nombre spécifié de paquets. Par exemple, pour capturer quatre paquets au niveau de l'interface « enp0s3 », utilisez la commande suivante :

$ tcpdump -i enp0s3 -c 4

Remplacez le nom de l'interface à l'aide de votre système.

Commandes Tcpdump utiles pour capturer le trafic réseau

Dans ce qui suit, nous avons répertorié quelques commandes « tcpdump » utiles qui vous aideront à capturer et filtrer efficacement le trafic réseau ou les paquets :

À l'aide de la commande « tcpdump », vous pouvez capturer les paquets d'une interface avec une IP de destination ou une IP source définie.

$ tcpdump -i {nom-interface} dst {ip-destination}

Vous pouvez capturer les paquets avec une taille d'instantané de 65 535 octets, différente de la taille par défaut de 262 144 octets. Dans les anciennes versions de tcpdump, la taille de capture était limitée à 68 ou 96 octets.

$ tcpdump -i enp0s3 -s 65535

Comment enregistrer les paquets capturés dans un fichier

Si vous souhaitez enregistrer les données capturées dans un fichier pour une analyse plus approfondie, vous pouvez le faire. Il capture le trafic sur une interface spécifiée, puis l'enregistre dans un fichier « .pcap ». Utilisez la commande suivante pour stocker les données capturées dans un fichier :

$ tcpdump -i -s 65535 -w .pcap

Par exemple, nous avons l’interface « enps03 ». Enregistrez ces données capturées dans le fichier suivant :

$ sudo tcpdump -i enps03 -w dump.pcap

À l'avenir, vous pourrez lire ce fichier capturé à l'aide de Wireshark ou d'autres outils d'analyse de réseau. Donc, si vous souhaitez utiliser Wireshark pour analyser les paquets, utilisez l'argument « -w » et enregistrez-le dans un fichier « .pcap ».

Conclusion

Dans ce didacticiel, nous avons montré comment capturer et analyser les paquets à l'aide de tcpdump à l'aide de différents exemples. Nous avons également appris à enregistrer le trafic capturé dans un fichier « .pcap » que vous pouvez visualiser et analyser à l'aide de Wireshark et d'autres outils d'analyse de réseau.