Appliquer des filtres 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, vous apprendrez à utiliser les filtres de capture de Tshark pour capturer sélectivement des paquets réseau. Vous explorerez la syntaxe des filtres de Wireshark et pratiquerez la capture du trafic TCP sur des interfaces spécifiques en utilisant des commandes telles que tshark -f "tcp".

Grâce à des exercices pratiques, vous filtrerez les paquets TCP sur eth1, analyserez les détails des paquets et enregistrerez les résultats dans tcp.pcap. Ce laboratoire offre une expérience pratique dans l'application de filtres de capture pour isoler et examiner efficacement le trafic réseau ciblé.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL wireshark(("Wireshark")) -.-> wireshark/WiresharkGroup(["Wireshark"]) wireshark/WiresharkGroup -.-> wireshark/packet_capture("Packet Capture") wireshark/WiresharkGroup -.-> wireshark/capture_filters("Capture Filters") wireshark/WiresharkGroup -.-> wireshark/packet_analysis("Packet Analysis") wireshark/WiresharkGroup -.-> wireshark/commandline_usage("Command Line Usage") subgraph Lab Skills wireshark/packet_capture -.-> lab-548914{{"Appliquer des filtres de capture dans Tshark"}} wireshark/capture_filters -.-> lab-548914{{"Appliquer des filtres de capture dans Tshark"}} wireshark/packet_analysis -.-> lab-548914{{"Appliquer des filtres de capture dans Tshark"}} wireshark/commandline_usage -.-> lab-548914{{"Appliquer des filtres de capture dans Tshark"}} end

Apprendre la syntaxe avec la référence manuelle

Dans cette étape, vous apprendrez la syntaxe de base des filtres de capture de Wireshark en vous référant à la page du manuel. Comprendre ces bases est crucial avant de procéder à des captures de paquets réelles, car les filtres vous permettent de capturer sélectivement uniquement le trafic réseau qui vous intéresse.

  1. Tout d'abord, ouvrez le terminal dans votre machine virtuelle LabEx si celui-ci n'est pas déjà ouvert. Le répertoire de travail par défaut est ~/project. C'est là que nous exécuterons toutes nos commandes.

  2. Pour accéder à la documentation complète des filtres de Wireshark, exécutez la commande suivante dans votre terminal :

man wireshark-filter

Cette page du manuel contient toute la documentation officielle sur la syntaxe et les capacités des filtres de capture. Considérez - la comme votre feuille de triche pour créer des filtres efficaces.

  1. Lorsque vous parcourez le manuel (appuyez sur Enter pour naviguer), concentrez - vous sur ces sections clés qui constituent les bases des filtres de capture :

    • Structure de la syntaxe de base des filtres : Comment formater correctement vos expressions de filtre
    • Filtres de protocole courants : Filtres prédéfinis pour des protocoles tels que TCP, UDP, HTTP
    • Opérateurs de comparaison : Comment comparer des valeurs dans vos filtres
    • Opérateurs logiques : Combiner des conditions en utilisant et, ou, non
  2. Maintenant, appliquons ce que vous avez appris avec un exemple pratique. Exécutez cette commande pour tester un filtre TCP simple :

tshark -f "tcp" -c 5

Cette commande fait trois choses :

  • -f "tcp" applique un filtre pour capturer uniquement les paquets TCP
  • -c 5 limite la capture à 5 paquets
  • Les résultats s'affichent directement dans votre terminal
  1. S'il y a du trafic réseau, vous verrez une sortie similaire à celle - ci, montrant les détails de chaque paquet TCP capturé :
1 0.000000 192.168.1.1 → 192.168.1.2 TCP 74 443 → 49234 [SYN] Seq=0 Win=64240 Len=0

Chaque ligne représente un paquet, montrant son numéro, l'horodatage, les adresses IP source et de destination, les ports et les indicateurs TCP.

  1. Lorsque vous avez terminé d'examiner la sortie, appuyez sur q pour quitter à la fois la page du manuel (si elle est toujours ouverte) et toute capture tshark en cours d'exécution. Cela vous ramène à l'invite de commande, prêt pour l'étape suivante.

Filtrer le trafic TCP avec -f "tcp"

Dans cette étape, vous allez pratiquer la capture du trafic réseau TCP (Transmission Control Protocol) en utilisant la syntaxe des filtres de Wireshark. Le TCP est l'un des protocoles de base de la suite de protocoles Internet, offrant une livraison de données fiable, ordonnée et vérifiée pour les erreurs entre les applications. Cet exercice s'appuie sur les compétences de base en capture de paquets que vous avez acquises précédemment.

  1. Tout d'abord, assurez - vous que vous êtes dans le répertoire de travail par défaut où nous allons stocker nos fichiers de capture :
cd ~/project
  1. Pour capturer en direct le trafic TCP de votre interface réseau, exécutez cette commande :
sudo tshark -i eth1 -f "tcp" -c 10

Décortiquons ce que chaque partie de cette commande fait :

  • sudo vous donne les privilèges d'administrateur nécessaires pour la capture de paquets
  • -i eth1 spécifie que nous capturons depuis l'interface Ethernet (eth1)
  • -f "tcp" applique un filtre de capture pour ne collecter que les paquets TCP
  • -c 10 limite la capture à 10 paquets pour cette démonstration
  1. La sortie affichera les paquets TCP avec des informations essentielles dans ce format :
1 0.000000 192.168.1.1 → 192.168.1.2 TCP 74 443 → 49234 [SYN] Seq=0 Win=64240 Len=0
2 0.000123 192.168.1.2 → 192.168.1.1 TCP 74 49234 → 443 [SYN, ACK] Seq=0 Ack=1 Win=28960 Len=0

Chaque ligne représente un paquet TCP montrant :

  • Le numéro de paquet et l'horodatage
  • Les adresses IP source et de destination
  • Les ports source et de destination
  • Les indicateurs TCP (comme SYN, ACK)
  • Les numéros de séquence et les tailles de fenêtre
  1. Pour examiner la structure complète d'un paquet TCP, y compris tous les champs d'en - tête, utilisez le mode verbeux :
sudo tshark -i eth1 -f "tcp" -c 5 -V

Le flag -V fournit une sortie détaillée montrant l'en - tête TCP complet avec tous ses champs tels que les numéros de séquence, les numéros d'accusé de réception, les indicateurs, la taille de la fenêtre, la somme de contrôle et les options.

  1. Si vous avez besoin d'interrompre une capture en cours à tout moment, appuyez simplement sur Ctrl+C pour arrêter le processus. Cela est utile lorsque vous souhaitez terminer une capture longue ou si vous avez vu suffisamment de paquets pour votre analyse.

Capturer le trafic filtré sur eth1

Dans cette étape, vous apprendrez à capturer le trafic réseau sur l'interface eth1 avec des filtres spécifiques, en vous appuyant sur le filtrage TCP des étapes précédentes. L'interface eth1 représente généralement votre connexion réseau filaire principale, et nous l'utiliserons pour démontrer des scénarios pratiques de capture de paquets.

  1. Tout d'abord, vérifiez vos interfaces réseau en exécutant :
ip addr show eth1

Cette commande affiche des informations détaillées sur votre interface eth1. Vous devriez voir une sortie indiquant que l'interface eth1 est active (état UP) et qu'elle a une adresse IP attribuée. Cette vérification est importante car vous ne pouvez pas capturer le trafic sur une interface qui n'existe pas ou n'est pas active.

  1. Pour capturer spécifiquement le trafic HTTP sur eth1, utilisez :
sudo tshark -i eth1 -f "tcp port 80" -c 15

Décortiquons ce que cette commande fait :

  • -i eth1 spécifie sur quelle interface réseau écouter
  • -f "tcp port 80" crée un filtre de capture pour le trafic HTTP (le port 80 est le port HTTP standard)
  • -c 15 limite la capture à 15 paquets, ce qui est suffisant pour la démonstration sans vous submerger de données
  1. Pour capturer le trafic entre des adresses IP spécifiques, essayez :
sudo tshark -i eth1 -f "host 8.8.8.8" -c 10

Ici, nous filtrons le trafic vers/depuis le serveur DNS de Google (8.8.8.8). Le filtre "host" correspond à la fois au trafic entrant et sortant vers cette adresse IP spécifique. Cela est utile lorsque vous souhaitez surveiller la communication avec un serveur particulier.

  1. Pour un filtrage plus complexe, combinez des conditions :
sudo tshark -i eth1 -f "tcp port 443 and host 8.8.8.8" -c 5

Cette commande montre comment combiner des filtres. Elle capture le trafic HTTPS (port 443) spécifiquement vers/depuis 8.8.8.8. L'opérateur "and" vous permet de créer des filtres précis qui correspondent à plusieurs conditions simultanément.

  1. Observez la sortie montrant les paquets filtrés avec des détails tels que :
1 0.000000 192.168.1.100 → 8.8.8.8 TCP 74 49234 → 443 [SYN] Seq=0 Win=64240 Len=0

Cette sortie d'exemple montre un paquet TCP SYN (le premier paquet d'une connexion TCP) de votre machine locale (192.168.1.100) vers le serveur de Google. Les nombres représentent le chronométrage, les ports et les informations de séquence TCP qui aident à analyser le comportement du réseau.

Sauvegarder les résultats avec -w tcp.pcap

Dans cette étape, vous apprendrez à sauvegarder le trafic réseau capturé dans un fichier pour une analyse ultérieure. Cela est particulièrement utile lorsque vous avez besoin d'examiner des paquets réseau à un autre moment ou de les partager avec des collègues. Nous utiliserons l'outil en ligne de commande Tshark de Wireshark avec l'option -w pour sauvegarder notre capture.

  1. Tout d'abord, assurons - nous que nous sommes dans le bon répertoire de travail. Le répertoire ~/project est là où nous allons stocker nos fichiers de capture pour bien organiser les choses :
cd ~/project
  1. Maintenant, nous allons capturer le trafic TCP réel. La commande suivante fait plusieurs choses importantes à la fois. C'est comme installer une caméra réseau qui ne filme que les paquets TCP et les enregistre dans un fichier :
sudo tshark -i eth1 -f "tcp" -w tcp.pcap -c 20

Décortiquons ce que chaque partie de cette commande signifie :

  • -i eth1 indique à Tshark d'écouter sur l'interface réseau eth1
  • -f "tcp" applique un filtre de capture pour n'enregistrer que les paquets TCP
  • -w tcp.pcap sauvegarde les paquets capturés dans un fichier nommé tcp.pcap
  • -c 20 limite la capture à 20 paquets afin que nous ne collectons pas trop de données
  1. Après avoir lancé la capture, nous devons vérifier que notre fichier a été correctement créé. La commande ls avec les options -lh affiche la taille du fichier dans un format lisible par l'homme :
ls -lh tcp.pcap

Vous devriez voir une sortie indiquant que le fichier existe et sa taille (généralement quelques kilo - octets pour 20 paquets).

  1. Maintenant, examinons nos paquets capturés. Cette commande lit les 5 premiers paquets de notre fichier sauvegardé :
tshark -r tcp.pcap -c 5

L'option -r indique à Tshark de lire à partir d'un fichier au lieu de capturer le trafic en direct, tandis que -c 5 limite la sortie à 5 paquets.

  1. Pour avoir une vue plus technique de ce que nous avons capturé, nous pouvons utiliser le mode verbeux. Cela affiche tous les détails du protocole et le contenu des paquets, mais nous le limiterons aux 20 premières lignes pour que la sortie reste gérable :
tshark -r tcp.pcap -V | head -20

L'option -V active la sortie verbeuse, et head -20 affiche seulement le début de cette sortie pour ne pas être submergé d'informations.

Résumé

Dans ce laboratoire, vous avez appris à appliquer des filtres de capture dans Tshark grâce à des exercices pratiques. Vous avez exploré les bases de la syntaxe des filtres, y compris les filtres de protocole et les expressions logiques, puis vous avez pratiqué la capture de trafic TCP avec des commandes de base.

Le laboratoire vous a ensuite guidé à travers des techniques avancées telles que la surveillance en direct des interfaces, la personnalisation de la sortie en mode verbeux et la sauvegarde des captures filtrées dans des fichiers. Ces compétences permettent d'analyser efficacement le trafic réseau en combinant la sélection d'interfaces, le filtrage et la gestion de la sortie dans des flux de travail rationalisés.