Maison >tutoriels informatiques >connaissances en informatique >Comment Tcpdump capture et analyse les paquets

Comment Tcpdump capture et analyse les paquets

WBOY
WBOYavant
2024-03-20 19:36:18936parcourir

Comment Tcpdump capture et analyse les paquets

Tcpdump est un puissant outil d'analyse de réseau, principalement utilisé pour l'analyse du trafic réseau dans les systèmes Linux et macOS. Les administrateurs réseau peuvent capturer et analyser le trafic réseau via tcpdump pour effectuer une détection du réseau et surveiller les paquets TCP/IP. Il s'appuie sur une bibliothèque appelée « libpcap » pour capturer efficacement le trafic réseau. En plus d'aider les administrateurs réseau à identifier les problèmes de réseau et à les résoudre, tcpdump permet également de surveiller régulièrement l'activité du réseau et de vérifier la sécurité du réseau. Les données capturées sont stockées dans un fichier appelé « pcap », qui peut ensuite être analysé plus en détail à l'aide d'outils d'analyse de paquets TCP/IP (tels que Wireshark) ou d'autres outils de ligne de commande pour obtenir des informations sur le trafic réseau et les communications réseau.

Dans ce guide, nous montrerons comment installer TCPDUMP sur un système Linux et comment utiliser TCPDUMP pour capturer et analyser les paquets TCP/IP.

Comment installer Tcpdump

De nombreuses distributions Linux sont livrées avec tcpdump préinstallé. Si tcpdump n'est pas déjà installé sur votre système, vous pouvez facilement l'installer sur votre système Linux. Sur les systèmes Ubuntu 22.04, vous pouvez installer tcpdump à l'aide d'une simple commande.

$sudo apt installer tcpump

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

$sudo DNF installer tcpump

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

Pour lancer un terminal et exécuter tcpdump avec les privilèges sudo pour capturer des paquets, appuyez sur "Ctrl + Alt + t" pour ouvrir le terminal. tcpdump est un outil puissant qui fournit de nombreuses options et filtres pour capturer les paquets TCP/IP. Si vous souhaitez capturer tous les paquets de trafic sur l'interface réseau actuelle ou par défaut, utilisez simplement la simple commande "tcpdump" sans aucune option supplémentaire. De cette façon, vous pouvez surveiller le trafic réseau et analyser le contenu et l'origine des paquets. N'oubliez pas de gérer les paquets capturés avec prudence lorsque vous utilisez tcpdump pour éviter de révéler des informations sensibles ou de violer la confidentialité.

tcpdump

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

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

Comprenons le résultat.

Tcpdump prend en charge l'analyse des en-têtes de paquets TCP/IP. Il affiche une ligne pour chaque paquet et la commande continuera à 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)
  • Schéma (IP)
  • Nom d'hôte source ou IP et numéro de port
  • Nom d'hôte cible ou IP et numéro de port
  • Les drapeaux TCP (par exemple, Flags [F.]) utilisent S (SYN), F (FIN), . (ACK), P (PUSH), R (PUSH)
  • .
  • Le numéro de séquence des données dans le paquet (par exemple, SEQ 5829:6820)
  • Numéro de confirmation (par exemple, (ACK 1016)
  • Taille de la fenêtre (par exemple win 65535), indiquant les octets disponibles dans le tampon de réception, suivi des options TCP
  • La longueur de la charge utile des données (par exemple, longueur 991)

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

$sudo tcpump -D

ou

$tcpdump——liste—interruptions

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 des paquets TCP/IP transitant 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 les détails du 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 permettent de maintenir un environnement réseau solide et sécurisé.

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

$sudo tcpump -i any

Capturez des paquets en utilisant 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 transitant par l'interface « enp0s3 » en utilisant le port 22, utilisez la commande suivante :

$tcpdump—je porte enp0s3 22

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

Utilisez Tcpdump pour capturer des paquets limités

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

$tcpdump—je enp0s3—c 4

Remplacez le nom de l'interface par celui de votre système.

Commande Tcpdump utile pour capturer le trafic réseau

Ci-dessous, nous avons répertorié quelques commandes « tcpump » utiles qui vous aideront à capturer et filtrer efficacement le trafic réseau ou les paquets :

À l'aide de la commande "tcpump", vous pouvez capturer des paquets pour une interface avec une IP de destination ou une IP source définie.

$tcpdump—i {interface—name} dst {destination—ip}

Vous pouvez capturer des paquets avec une taille d'instantané de 65 535 octets, ce qui est différent 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—je 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. S'il capture le trafic de l'interface spécifiée, il l'enregistre dans un fichier ".pcap". Stockez les données capturées dans un fichier à l'aide de la commande suivante :

$tcpdump—je—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 utiliser Wireshark ou d'autres outils d'analyse de réseau pour lire ce fichier capturé. Par conséquent, si vous souhaitez utiliser Wireshark pour analyser les paquets, utilisez le paramètre "-w" et enregistrez-le dans un fichier ".pcap".

Conclusion

Dans ce tutoriel, nous montrons comment capturer et analyser des paquets à l'aide de tcpump à travers 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.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer