Limiter la taille de capture dans Tshark

WiresharkWiresharkBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire (lab), vous apprendrez à contrôler la taille de la capture de paquets dans Wireshark en utilisant les commandes Tshark. Vous explorerez deux techniques essentielles : limiter le nombre total de paquets avec -c 500 et restreindre la longueur des paquets avec -s 128 pour capturer uniquement les en-têtes tout en économisant de l'espace de stockage.

Grâce à des exercices pratiques sur l'interface eth1, vous capturerez le trafic dans le fichier limited.pcap et observerez comment différents paramètres affectent vos captures. Cette expérience pratique vous aidera à optimiser la collecte de paquets pour diverses scénarios d'analyse.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL wireshark(("Wireshark")) -.-> wireshark/WiresharkGroup(["Wireshark"]) wireshark/WiresharkGroup -.-> wireshark/interface("Interface Overview") wireshark/WiresharkGroup -.-> wireshark/packet_capture("Packet Capture") wireshark/WiresharkGroup -.-> wireshark/export_packets("Exporting Packets") wireshark/WiresharkGroup -.-> wireshark/commandline_usage("Command Line Usage") subgraph Lab Skills wireshark/interface -.-> lab-548932{{"Limiter la taille de capture dans Tshark"}} wireshark/packet_capture -.-> lab-548932{{"Limiter la taille de capture dans Tshark"}} wireshark/export_packets -.-> lab-548932{{"Limiter la taille de capture dans Tshark"}} wireshark/commandline_usage -.-> lab-548932{{"Limiter la taille de capture dans Tshark"}} end

Définir le nombre de paquets avec -c 500

Dans cette étape, vous apprendrez à contrôler la durée de la capture de paquets en limitant le nombre de paquets collectés par Wireshark. L'option -c est particulièrement précieuse lorsque vous avez besoin d'un échantillon représentatif du trafic réseau sans surcharger votre système avec une capture continue.

  1. Commencez par ouvrir le terminal dans votre machine virtuelle (VM) LabEx. Le système vous place automatiquement dans le bon répertoire de travail (~/project), vous pouvez donc commencer immédiatement.

  2. La structure de la commande suit ce modèle de base :

tcpdump -c [number] [other options]

Ici, [number] détermine exactement quand la capture s'arrête en spécifiant le nombre maximum de paquets à collecter. Cela évite les exécutions indéfinies qui pourraient remplir votre stockage.

  1. Capturons 500 paquets comme exercice principal. Exécutez cette commande :
sudo tcpdump -c 500 -i eth1

Notez que nous spécifions eth1 comme interface réseau. Cela indique à tcpdump quelle connexion réseau surveiller - ce qui est crucial lorsque votre machine a plusieurs cartes réseau.

  1. Au fur et à mesure que les paquets circulent, vous verrez une sortie en temps réel. Après exactement 500 paquets, tcpdump se termine automatiquement et affiche des statistiques :
500 packets captured
500 packets received by filter
0 packets dropped by kernel

Ces chiffres confirment une capture réussie (première ligne), un filtrage correct (deuxième ligne) et l'absence de problèmes de ressources système (zéro paquets perdus).

  1. Avant de réaliser la capture complète de 500 paquets, effectuez un test avec un échantillon plus petit pour comprendre le mécanisme. Cet essai de 10 paquets vous aidera à vérifier votre configuration :
sudo tcpdump -c 10 -i eth1

Définir la longueur du snapshot avec -s 128

Dans cette étape, vous apprendrez à définir la longueur du snapshot (snaplen) lors de la capture de paquets en utilisant l'option -s. Cela détermine la quantité de chaque paquet qui est capturée. 128 octets est une valeur courante qui permet de capturer les en-têtes de paquets tout en économisant de l'espace de stockage. La longueur du snapshot est particulièrement utile lorsque vous n'avez besoin que des en-têtes de paquets pour l'analyse plutôt que du contenu complet des paquets.

  1. Tout d'abord, assurez-vous que vous êtes dans le répertoire de travail par défaut ~/project dans votre terminal. C'est là que nous exécuterons toutes nos commandes de capture pour bien organiser les choses.

  2. L'option de longueur du snapshot (-s) limite la quantité de chaque paquet qui est capturée en spécifiant le nombre d'octets à enregistrer. Des valeurs plus petites économisent de l'espace disque, mais peuvent manquer des données importantes de la charge utile. La syntaxe de base est :

tcpdump -s [length] [other options]
  1. Capturons des paquets avec une longueur de snapshot de 128 octets combinée avec le nombre de paquets de l'étape précédente. Cette commande capturera les 128 premiers octets de chaque paquet jusqu'à ce qu'elle atteigne 500 paquets :
sudo tcpdump -c 500 -s 128 -i eth1
  1. Vous verrez une sortie montrant les 128 premiers octets de chaque paquet. La capture s'arrêtera automatiquement après 500 paquets, comme spécifié par l'option -c. Cette combinaison permet de gérer à la fois la taille et la durée de la capture.

  2. Pour mieux comprendre comment la longueur du snapshot affecte les captures, essayez ces commandes de comparaison. Remarquez comment la quantité de données affichée change avec différentes valeurs de -s :

sudo tcpdump -c 5 -s 64 -i eth1 ## Captures only 64 bytes per packet
sudo tcpdump -c 5 -s 0 -i eth1  ## Captures entire packets (default)

Le paramètre -s 0 indique à tcpdump de capturer le paquet en entier, ce qui est utile lorsque vous avez besoin du contenu complet des paquets, mais consomme plus d'espace de stockage.

Capturer le trafic avec -i eth1

Dans cette étape, nous allons nous concentrer sur la capture du trafic réseau à partir d'une interface spécifique en utilisant l'option -i de Tshark. Les interfaces réseau sont les connexions physiques ou virtuelles que votre ordinateur utilise pour communiquer avec les réseaux. Lorsque vous avez plusieurs interfaces (comme Wi-Fi et Ethernet), spécifier la bonne est cruciale pour une analyse ciblée des paquets.

  1. Ouvrez votre terminal et accédez au répertoire de travail :
cd ~/project
  1. Le drapeau -i indique à Tshark quelle interface réseau surveiller. La structure de base de la commande est :
tcpdump -i [interface] [other options]

Ici, [interface] doit être remplacé par le nom réel de votre interface, généralement 'eth1' pour Ethernet ou 'wlan0' pour Wi-Fi.

  1. Maintenant, combinons cela avec ce que nous avons appris sur les limites de paquets (-c) et la longueur du snapshot (-s). Cette commande capturera 500 paquets depuis l'interface eth1, en enregistrant seulement les 128 premiers octets de chaque paquet :
sudo tcpdump -c 500 -s 128 -i eth1

Le mot-clé sudo est requis car la capture de paquets nécessite des privilèges d'administrateur.

  1. Si vous n'êtes pas sûr quelles interfaces sont disponibles sur votre système, exécutez :
tcpdump -D

Cela affiche une liste numérotée de toutes les interfaces réseau actives, vous aidant à identifier la bonne pour votre capture.

  1. Pour générer du trafic de test pendant la capture, ouvrez un autre terminal et exécutez :
ping -c 3 google.com

Cela envoie 3 paquets ICMP aux serveurs de Google, qui devraient apparaître dans votre capture. Observer ces paquets connus permet de vérifier que votre capture fonctionne correctement.

  1. La capture s'arrêtera automatiquement après 500 paquets, mais vous pouvez l'arrêter manuellement à tout moment en appuyant sur :
Ctrl+C

Cet interruption clavier termine en toute sécurité le processus de capture tout en conservant les données capturées.

Enregistrer dans un fichier avec -w limited.pcap

Dans cette étape, vous apprendrez à enregistrer le trafic réseau capturé dans un fichier pour une analyse ultérieure. L'option -w de tcpdump crée un fichier de capture de paquets (pcap) qui conserve toutes les données réseau capturées. Cela est particulièrement utile lorsque vous avez besoin d'examiner les modèles de trafic hors ligne ou de partager des captures avec vos collègues.

  1. Avant de commencer, assurez-vous que votre terminal est dans le bon répertoire de travail. Tapez :
cd ~/project

Cela garantit que tous vos fichiers de capture seront enregistrés dans le dossier de projet désigné.

  1. Le drapeau -w indique à tcpdump où stocker les paquets capturés. La structure de base de la commande est :
tcpdump -w [filename] [other options]

Le nom de fichier devrait se terminer par l'extension .pcap, qui est le format standard pour les fichiers de capture de paquets.

  1. Maintenant, combinons toutes les options que nous avons apprises jusqu'à présent dans un exemple pratique. Cette commande va :
  • Capturer exactement 500 paquets (-c 500)
  • Limiter chaque paquet à 128 octets (-s 128)
  • Écouter sur l'interface eth1 (-i eth1)
  • Enregistrer tout dans un fichier appelé limited.pcap (-w limited.pcap)
sudo tcpdump -c 500 -s 128 -i eth1 -w limited.pcap
  1. Pendant que tcpdump est en cours d'exécution, ouvrez une autre fenêtre de terminal pour générer un peu de trafic de test. Ces commandes créeront une activité réseau typique :
ping -c 3 google.com
curl http://example.com

Ce trafic simulé sera capturé par notre session tcpdump en cours d'exécution.

  1. Après avoir capturé 500 paquets (ou appuyez sur Ctrl+C pour arrêter plus tôt), vérifiez que votre fichier de capture existe et vérifiez sa taille :
ls -lh limited.pcap

La sortie montre les détails du fichier, y compris la taille (56K dans cet exemple) et la date de création :

-rw-r--r-- 1 root root 56K Aug 10 15:30 limited.pcap
  1. Pour revoir les paquets capturés plus tard, utilisez l'option -r pour lire le fichier pcap :
tcpdump -r limited.pcap

Cela affiche le contenu des paquets exactement comme ils ont été capturés, vous permettant d'analyser le trafic à votre convenance.

Résumé

Dans ce laboratoire, vous avez appris à contrôler la taille de la capture de paquets dans Tshark en utilisant des paramètres essentiels de ligne de commande. Vous avez pratiqué la limitation du nombre de paquets avec -c 500 et la restriction de la longueur des paquets avec -s 128, en observant comment ces options influencent le comportement de la capture et l'efficacité de stockage.

Les exercices ont démontré la combinaison de ces techniques avec la sélection d'interface (-i eth1) pour une analyse ciblée du trafic. Grâce à des commandes telles que sudo tcpdump -c 500 -s 128 -i eth1, vous avez acquis une expérience pratique dans l'application simultanée de plusieurs contraintes de capture.