Analyse de Paquets avec Wireshark et Tshark

WiresharkBeginner
Pratiquer maintenant

Introduction

Dans ce laboratoire, vous apprendrez les fondamentaux de l'analyse des paquets réseau en utilisant Wireshark et son homologue en ligne de commande, Tshark. Vous commencerez par explorer les interfaces réseau, puis vous passerez à la capture du trafic réseau en direct. Vous apprendrez également à lire, filtrer et analyser des fichiers de capture de paquets préexistants en utilisant à la fois l'outil en ligne de commande Tshark et l'interface utilisateur graphique de Wireshark. Ce laboratoire fournit une compréhension fondamentale de l'analyse des paquets, une compétence essentielle pour le dépannage réseau et la cybersécurité.

Vérification de l'Installation et Liste des Interfaces Réseau

Dans cet environnement de laboratoire, Tshark et Wireshark sont préinstallés pour vous. Votre première étape consiste à vérifier l'installation et à identifier les interfaces réseau disponibles pour la capture de paquets. Une interface réseau est un dispositif matériel ou virtuel qui permet à votre ordinateur de se connecter à un réseau.

  1. Vérifiez d'abord que Tshark est correctement installé en consultant sa version. Cette commande confirme que l'outil est disponible dans le chemin d'accès de votre système.

    tshark --version
    

    Vous devriez voir s'afficher la sortie des numéros de version de Tshark et de Wireshark.

    TShark (Wireshark) 4.2.x (Git v4.2.x packaged as 4.2.x-1)
    ...
    
  2. Ensuite, vous devez savoir quelles interfaces réseau vous pouvez utiliser pour capturer des paquets. Utilisez l'indicateur -D pour lister toutes les interfaces disponibles.

    tshark -D
    

    La sortie listera les interfaces par numéro et par nom.

    1. eth0
    2. any (Pseudo-périphérique qui capture sur toutes les interfaces)
    3. lo (Bouclage)
    4. ...
    
    • eth0 est généralement l'interface Ethernet principale, courante dans les machines virtuelles et les serveurs. Nous l'utiliserons pour les captures en direct.
    • lo est l'interface de bouclage, utilisée pour la communication réseau au sein de la même machine.
    • any est un pseudo-périphérique spécial qui vous permet de capturer le trafic de toutes les interfaces simultanément.

Maintenant que vous avez confirmé l'installation et identifié l'interface eth0, vous êtes prêt à commencer la capture de paquets.

Effectuer une Capture de Paquets de Base

L'interface réseau étant identifiée, vous pouvez maintenant effectuer une capture de paquets en direct. Pour cet exercice, vous allez capturer un petit nombre de paquets depuis l'interface eth0 pour voir Tshark en action. C'est une compétence fondamentale pour observer l'activité réseau en temps réel.

  1. Pour démarrer une capture, vous devez spécifier l'interface avec l'indicateur -i et le nombre de paquets à capturer avec l'indicateur -c (count). Exécutez la commande suivante pour capturer 10 paquets depuis l'interface eth0.

    tshark -i eth0 -c 10
    
  2. Tshark commencera à capturer les paquets et affichera un résumé sur une seule ligne pour chaque paquet en temps réel. La sortie ressemblera à l'exemple ci-dessous, montrant des informations telles que le numéro de paquet, l'horodatage, les adresses IP source et destination, le protocole et un bref résumé.

     1 0.000000000 172.17.0.2 -> 172.17.0.1 DNS 79 Standard query 0x1a34 AAAA metadata.google.internal
     2 0.000293393 172.17.0.1 -> 172.17.0.2 DNS 111 Standard query response 0x1a34 No such name
     3 0.000408893 172.17.0.2 -> 172.17.0.1 DNS 79 Standard query 0x2b1f A metadata.google.internal
     4 0.000564893 172.17.0.1 -> 172.17.0.2 DNS 111 Standard query response 0x2b1f No such name
     ...
    

Après avoir capturé 10 paquets, Tshark s'arrêtera automatiquement. Vous avez maintenant réussi à capturer et visualiser le trafic réseau en direct depuis la ligne de commande.

Analyser un Fichier de Capture avec Tshark

En plus de capturer le trafic en direct, une tâche courante consiste à analyser des fichiers de capture de paquets précédemment enregistrés. Ces fichiers, typiquement avec une extension .pcap, permettent une analyse hors ligne. Un fichier d'exemple nommé capture.pcap est fourni dans votre répertoire de projet.

  1. Utilisez d'abord la commande ls pour confirmer que le fichier capture.pcap existe dans votre répertoire actuel (/home/labex/project).

    ls -l capture.pcap
    
  2. Pour lire les paquets de ce fichier, utilisez l'indicateur -r (read). Visualisons les 10 premiers paquets du fichier.

    tshark -r capture.pcap -c 10
    
  3. Inspecter manuellement tous les paquets est inefficace. Tshark vous permet d'utiliser des filtres d'affichage pour n'afficher que les paquets qui correspondent à des critères spécifiques. Utilisez l'indicateur -Y pour appliquer un filtre d'affichage. Filtrons uniquement le trafic TCP.

    tshark -r capture.pcap -Y "tcp" -c 5
    

    Cette commande lit depuis capture.pcap, applique le filtre d'affichage tcp, et n'affiche que les 5 premiers paquets correspondants.

  4. Essayez maintenant de filtrer pour un autre protocole, tel que UDP.

    tshark -r capture.pcap -Y "udp" -c 5
    

    Vous verrez maintenant uniquement les paquets UDP provenant du fichier de capture. Les filtres d'affichage sont une fonctionnalité puissante pour concentrer votre analyse sur des protocoles, des adresses ou des ports spécifiques.

Filtrer et Sauvegarder une Capture en Direct

Dans cette étape, vous combinerez la capture, le filtrage et la sauvegarde. Au lieu de sauvegarder tout le trafic, vous pouvez appliquer un filtre de capture pour n'enregistrer que les paquets qui vous intéressent. C'est efficace pour créer des ensembles de données ciblés. Nous allons capturer uniquement le trafic DNS et l'enregistrer dans un nouveau fichier.

  1. Pour sauvegarder une capture, utilisez l'indicateur -w (write). Pour appliquer un filtre de capture, utilisez l'indicateur -f. Le DNS utilise généralement le port UDP 53, nous utiliserons donc "port 53" comme filtre de capture.

    Exécutez la commande suivante pour capturer 10 paquets DNS et les enregistrer dans un fichier nommé dns_traffic.pcap.

    tshark -i eth0 -c 10 -f "port 53" -w dns_traffic.pcap
    

    Contrairement à une capture normale, cette commande n'affichera pas les paquets à l'écran. Au lieu de cela, elle affichera un compte courant des paquets capturés jusqu'à ce qu'elle atteigne 10.

  2. Une fois la capture terminée, vérifiez que le nouveau fichier a été créé.

    ls -l dns_traffic.pcap
    
  3. Vous pouvez maintenant inspecter votre nouveau fichier de capture filtré pour confirmer qu'il ne contient que le trafic souhaité.

    tshark -r dns_traffic.pcap
    

    La sortie ne devrait montrer que des paquets DNS (ou autre trafic sur le port 53), confirmant que votre filtre de capture a fonctionné correctement.

Analyser des Paquets avec l'Interface Graphique Wireshark

Bien que Tshark soit excellent pour le travail en ligne de commande, l'interface utilisateur graphique (GUI) de Wireshark offre un environnement visuel puissant pour l'analyse approfondie des paquets. Dans cette étape, vous utiliserez l'interface graphique de Wireshark pour inspecter le fichier capture.pcap.

  1. Lancez Wireshark et ouvrez le fichier capture.pcap avec la commande suivante. Le & à la fin exécute l'application en arrière-plan, libérant votre terminal.

    wireshark capture.pcap &
    
  2. La fenêtre Wireshark s'ouvrira. Prenez un moment pour vous familiariser avec la disposition principale :

    • Volet Liste des Paquets (Haut) : Une liste de tous les paquets de la capture.
    • Volet Détails des Paquets (Milieu) : Une vue détaillée et extensible des couches de protocole pour le paquet sélectionné.
    • Volet Octets des Paquets (Bas) : Les données brutes du paquet sélectionné, affichées en hexadécimal et en ASCII.
  3. L'interface graphique facilite le filtrage. Localisez la barre de filtre d'affichage en haut de la fenêtre (elle peut afficher le texte d'espace réservé « Apply a display filter... »). Tapez http dans cette barre et appuyez sur Entrée.

    http
    
  4. Le volet Liste des Paquets se mettra à jour pour n'afficher que les paquets HTTP du fichier de capture. Vous pouvez cliquer sur n'importe quel paquet pour explorer ses détails dans le volet du milieu.

  5. Fermez la fenêtre Wireshark lorsque vous avez terminé l'exploration.

Résumé

Dans ce laboratoire, vous avez acquis une expérience pratique avec la suite Wireshark. Vous avez appris à vérifier une installation Tshark et à identifier les interfaces réseau disponibles. Vous vous êtes exercé à capturer le trafic réseau en direct à l'aide de tshark, à lire à partir de fichiers .pcap existants, et à appliquer des filtres de capture et d'affichage pour isoler des protocoles spécifiques. Vous avez également appris à sauvegarder une capture filtrée dans un nouveau fichier. Enfin, vous avez été initié à l'interface utilisateur graphique de Wireshark pour une approche plus visuelle de l'analyse des paquets. Ces compétences sont essentielles pour toute personne impliquée dans l'administration réseau, le dépannage ou la sécurité.