Filtrer le trafic dans Wireshark

Beginner
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 à filtrer le trafic réseau à l'aide de Wireshark, un outil essentiel pour l'analyse réseau et les enquêtes en cybersécurité. Vous allez pratiquer la capture de paquets en direct, appliquer des filtres d'affichage pour isoler un trafic spécifique et exporter les résultats filtrés pour un examen plus approfondi.

Le laboratoire offre une expérience pratique des fonctionnalités de base de Wireshark, depuis la sélection de l'interface jusqu'à l'analyse du trafic. Ces compétences vous aideront à identifier les modèles réseau, à résoudre les problèmes de connectivité et à détecter les menaces de sécurité potentielles dans les communications réseau.


Skills Graph

Installer Wireshark

Dans cette étape, vous allez installer Wireshark, un puissant analyseur de protocoles réseau qui vous permet d'examiner le trafic réseau en temps réel. Imaginez-le comme un microscope pour les communications réseau : il capture les paquets circulant sur votre réseau et les affiche dans un format lisible.

Avant de commencer, il est important de comprendre que Wireshark nécessite des autorisations spéciales pour capturer les données réseau. C'est pourquoi nous allons le configurer soigneusement pour qu'il fonctionne correctement sur votre machine virtuelle (VM) LabEx.

  1. Tout d'abord, nous devons mettre à jour la liste des paquets. Cela permet à votre système de connaître les dernières versions de logiciels disponibles :

    sudo apt update
  2. Maintenant, installez Wireshark avec cette commande. Le drapeau -y confirme automatiquement l'installation :

    sudo apt install -y wireshark
  3. Pendant l'installation, Wireshark demande des informations sur l'accès pour les non-superutilisateurs. Nous configurons cela à l'avance à l'aide de debconf (système de configuration Debian) pour permettre aux utilisateurs normaux de capturer des paquets :

    echo "wireshark-common wireshark-common/install-setuid boolean true" | sudo debconf-set-selections
  4. Ensuite, nous ajoutons votre utilisateur au groupe 'wireshark'. Cela accorde les autorisations nécessaires sans avoir besoin d'accéder en tant que root :

    sudo usermod -aG wireshark $USER
  5. Vérifions que l'installation a fonctionné en vérifiant la version. Cela confirme que Wireshark est correctement installé :

    wireshark --version

    Vous devriez voir une sortie similaire à :

    Wireshark 3.6.8 (Git v3.6.8 packaged as 3.6.8-1~ubuntu20.04.0)
  6. Les modifications de l'appartenance au groupe nécessitent une nouvelle session de connexion. Sur un système classique, vous vous déconnecteriez puis vous reconnecteriez, mais dans LabEx, il suffit d'ouvrir un nouvel onglet de terminal pour que les modifications prennent effet.

N'oubliez pas que ces étapes de configuration sont cruciales car les outils de surveillance réseau comme Wireshark ont besoin d'autorisations spéciales pour accéder aux interfaces réseau, mais nous voulons les utiliser en toute sécurité sans avoir toujours besoin d'accéder en tant que root.

Choisir une interface réseau

Dans cette étape, vous apprendrez à identifier et à sélectionner une interface réseau pour la capture de paquets dans Wireshark. Les interfaces réseau sont les points de connexion entre votre ordinateur et le réseau. Imaginez-les comme des portes par lesquelles le trafic réseau entre et sort de votre ordinateur. Chaque interface a un nom unique et des caractéristiques qui déterminent le type de trafic qu'elle peut capturer.

  1. Tout d'abord, listons toutes les interfaces réseau disponibles sur votre système à l'aide de la commande intégrée de Wireshark. Cela vous permet de voir tous les points de capture possibles avant de choisir l'un d'eux :

    wireshark -D

    Vous devriez voir une sortie similaire à :

    1. eth0
    2. any (Pseudo-device that captures on all interfaces)
    3. lo (Loopback)

    La sortie affiche les noms des interfaces avec des numéros. 'eth0' est généralement votre port Ethernet physique, tandis que 'lo' est utilisé pour le trafic de bouclage interne.

  2. Pour obtenir des informations plus détaillées sur les interfaces, nous pouvons utiliser la commande Linux ip. Cela affiche non seulement les noms, mais aussi leur état opérationnel actuel :

    ip link show

    Cela affichera toutes les interfaces réseau avec leur état actuel (UP/DOWN). Une interface doit être UP pour capturer le trafic.

  3. Pour notre environnement de laboratoire (lab), nous utiliserons l'interface eth0, qui est généralement l'interface Ethernet principale dans les systèmes Linux. Avant de l'utiliser, vérifions son statut pour nous assurer qu'elle est active :

    ip link show eth0

    Recherchez "state UP" dans la sortie pour confirmer que l'interface est active. Si elle affiche DOWN, vous devrez résoudre le problème de connexion avant de continuer.

  4. Maintenant, testons la capture de paquets sur cette interface à l'aide de la version en ligne de commande de Wireshark (tshark). Ce test rapide permet de vérifier que tout fonctionne avant d'utiliser l'interface graphique complète :

    sudo tshark -i eth0 -c 5

    Cette commande capture 5 paquets depuis l'interface eth0 (-i spécifie l'interface, -c définit le nombre de paquets) et les affiche dans le terminal. Le mot clé sudo est nécessaire car la capture de paquets nécessite des privilèges root.

  5. Pour démarrer Wireshark en mode interface graphique (que nous utiliserons dans les étapes suivantes pour des filtres plus avancés) :

    wireshark &

    Dans l'interface graphique de Wireshark, vous verrez la liste des interfaces disponibles dans la fenêtre principale. L'astérisque (&) exécute Wireshark en arrière-plan afin que vous puissiez continuer à utiliser le terminal.

Capturer le trafic réseau en direct

Dans cette étape, vous apprendrez à capturer le trafic réseau en direct à l'aide de Wireshark. La capture de paquets est le processus d'interception et d'enregistrement du trafic réseau, ce qui vous permet d'analyser les communications réseau en temps réel. Cela est essentiel pour la résolution de problèmes réseau et l'analyse de sécurité.

  1. Tout d'abord, lancez Wireshark en mode interface graphique depuis le terminal. Le symbole & exécute la commande en arrière-plan afin que vous puissiez continuer à utiliser le terminal :

    wireshark &
  2. Lorsque Wireshark s'ouvre, vous verrez une liste des interfaces réseau disponibles. Elles représentent les connexions réseau physiques et virtuelles de votre machine. Sélectionnez eth0 (l'interface que nous avons identifiée à l'étape précédente) en double-cliquant dessus. Il s'agit généralement de votre interface Ethernet principale.

  3. Wireshark commencera immédiatement à capturer tout le trafic réseau sur cette interface. La fenêtre principale affiche les paquets en trois sections : la liste des paquets (sommaire), les détails des paquets (analyse des protocoles) et les octets des paquets (données brutes en hexadécimal). Les paquets apparaîtront en temps réel au fur et à mesure qu'ils sont capturés.

  4. Pour générer un peu de trafic de test à capturer, ouvrez un nouveau terminal et exécutez une simple commande ping. Cela envoie des requêtes d'écho ICMP au serveur DNS de Google (8.8.8.8) :

    ping -c 4 8.8.8.8
  5. Dans Wireshark, vous devriez maintenant voir apparaître des paquets ICMP dans la capture. Ils représentent vos requêtes et réponses de ping. Chaque ligne de paquet affiche des métadonnées importantes :

    • Numéro de paquet (séquence dans la capture)
    • Horodatage (heure de capture)
    • Adresses IP source et de destination
    • Protocole (ICMP dans ce cas)
    • Longueur du paquet en octets
    • Brève information sur le contenu du paquet
  6. Pour arrêter la capture une fois terminée, cliquez sur le bouton "Arrêter" (carré rouge) dans la barre d'outils. Cela figera l'affichage afin que vous puissiez examiner les paquets capturés.

  7. Pour enregistrer votre capture pour une analyse ultérieure :

    • Cliquez sur "Fichier" → "Enregistrer sous"
    • Nommez le fichier ping_capture.pcapng (.pcapng est le format de capture de Wireshark)
    • Enregistrez-le dans votre répertoire ~/project pour y accéder facilement
  8. Pour la capture en ligne de commande (utile pour l'automatisation ou les systèmes distants), vous pouvez utiliser tshark, la version en ligne de commande de Wireshark. Cette commande capture exactement 10 paquets depuis eth0 et les enregistre :

    sudo tshark -i eth0 -w ~/project/cli_capture.pcap -c 10

    Le drapeau -w spécifie le fichier de sortie, et -c limite le nombre de paquets.

Appliquer des filtres d'affichage

Dans cette étape, vous apprendrez à utiliser les filtres d'affichage de Wireshark pour vous concentrer sur un trafic réseau spécifique. Les filtres d'affichage vous aident à analyser les paquets capturés en n'affichant que ceux qui correspondent à vos critères. Imaginez-les comme des termes de recherche qui vous permettent de trouver rapidement les conversations réseau exactes qui vous intéressent parmi des milliers de paquets.

  1. Tout d'abord, ouvrez le fichier de capture que vous avez enregistré précédemment dans Wireshark :

    wireshark ~/project/ping_capture.pcapng &

    Cette commande ouvre Wireshark en arrière-plan (&) et charge votre capture de paquets enregistrée. Le fichier .pcapng contient tout le trafic réseau que vous avez enregistré précédemment.

  2. Pour filtrer le trafic ICMP (paquets ping), tapez ceci dans la barre de filtre en haut :

    icmp

    Appuyez sur Entrée et vous verrez uniquement les paquets ICMP dans l'affichage. ICMP est le protocole utilisé par les commandes ping, donc ce filtre vous permet d'isoler l'activité réseau liée au ping du reste du trafic.

  3. Pour filtrer le trafic vers/depuis une adresse IP spécifique (comme 8.8.8.8) :

    ip.addr == 8.8.8.8

    Ce filtre affiche tous les paquets où 8.8.8.8 apparaît comme adresse IP source ou de destination. Le double signe égal (==) est utilisé pour les correspondances exactes dans les filtres Wireshark.

  4. Combinez des filtres avec des opérateurs logiques :

    icmp && ip.addr == 8.8.8.8

    Cela affiche uniquement les paquets ICMP impliquant 8.8.8.8. L'opérateur && signifie "ET", donc les deux conditions doivent être vraies pour qu'un paquet soit affiché.

  5. Voici quelques autres filtres utiles :

    • Trafic HTTP : http (affiche l'activité de navigation web)
    • Requêtes DNS : dns (affiche les recherches de noms de domaine)
    • Trafic provenant d'une source spécifique : ip.src == 192.168.1.1 (affiche les paquets provenant de cette adresse IP)
    • Trafic vers une destination spécifique : ip.dst == 8.8.8.8 (affiche les paquets envoyés à cette adresse IP)
  6. Pour enregistrer votre vue filtrée :

    • Cliquez sur "Fichier" → "Exporter les paquets spécifiés"
    • Choisissez "Affichés" et enregistrez sous filtered_ping.pcapng dans ~/project

    Cela crée un nouveau fichier de capture contenant uniquement les paquets filtrés, ce qui est utile pour partager des modèles de trafic spécifiques ou pour une analyse plus approfondie.

  7. Pour le filtrage en ligne de commande (en utilisant tshark) :

    tshark -r ~/project/ping_capture.pcapng -Y "icmp" -w ~/project/tshark_filtered.pcap

    Cette méthode alternative utilise la version en ligne de commande de Wireshark (tshark) pour filtrer et enregistrer les paquets sans ouvrir l'interface graphique. Le drapeau -Y spécifie l'expression de filtre, similaire à ce que vous avez utilisé dans l'interface graphique de Wireshark.

Exporter les données filtrées

Dans cette étape, vous apprendrez à exporter les données de paquets filtrées depuis Wireshark dans différents formats à des fins d'analyse et de reporting. L'exportation de données vous permet de partager vos résultats avec vos collègues ou d'importer les données dans d'autres outils d'analyse.

  1. Tout d'abord, ouvrez votre fichier de capture filtré dans Wireshark. Cela suppose que vous avez déjà capturé et filtré des paquets dans les étapes précédentes :

    wireshark ~/project/filtered_ping.pcapng &
  2. Pour exporter tous les paquets affichés (après avoir appliqué des filtres) au format natif de Wireshark :

    • Cliquez sur "Fichier" → "Exporter les paquets spécifiés" dans la barre de menu
    • Assurez-vous que "Affichés" est sélectionné pour exporter uniquement les paquets correspondant à vos filtres actuels
    • Enregistrez sous exported_packets.pcapng dans ~/project pour une analyse ultérieure
  3. L'outil en ligne de commande tshark de Wireshark vous permet d'exporter des données dans différents formats. Voici des exemples courants :

    • Pour le format CSV (utile pour l'analyse dans des tableurs) :

      tshark -r ~/project/filtered_ping.pcapng -T fields -e frame.number -e ip.src -e ip.dst -E header=y -E separator=, > ~/project/packet_data.csv

      Cela exporte les numéros de paquets, les adresses IP source et de destination avec des en-têtes de colonne.

    • Pour une sortie texte brut détaillée :

      tshark -r ~/project/filtered_ping.pcapng -V > ~/project/packet_details.txt

      Cela affiche les détails complets des paquets, similairement à l'interface de Wireshark.

  4. Le format JSON est utile pour l'analyse programmée. Exporte toutes les données de paquets au format JSON :

    tshark -r ~/project/filtered_ping.pcapng -T json > ~/project/packets.json
  5. Après l'exportation, vérifiez que tous les fichiers ont été créés correctement en les listant :

    ls -lh ~/project/*.pcapng ~/project/*.csv ~/project/*.txt ~/project/*.json
  6. Pour vérifier rapidement combien de paquets ont été exportés dans votre fichier PCAPNG :

    capinfos ~/project/exported_packets.pcapng | grep "Number of packets"

    Cela confirme que votre filtre a fonctionné comme prévu en affichant le nombre de paquets.

Résumé

Dans ce laboratoire, vous avez appris à filtrer le trafic réseau à l'aide de Wireshark grâce à des exercices pratiques. Les étapes clés comprenaient l'installation de Wireshark, la configuration des autorisations utilisateur, l'identification des interfaces réseau et la capture du trafic en direct sur l'interface eth0.

Vous avez également pratiqué l'application de filtres d'affichage pour analyser des paquets spécifiques et l'exportation des données filtrées. Ces compétences constituent une base pour une analyse efficace du trafic réseau en utilisant les puissantes capacités de filtrage de Wireshark.