Appliquer des filtres de capture Wireshark pour l'analyse du trafic réseau

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 Wireshark pour capturer de manière sélective le trafic réseau selon des critères spécifiques. Les filtres de capture sont des outils puissants qui vous permettent de vous concentrer sur les données pertinentes et d'éliminer le trafic non pertinent, rendant ainsi votre analyse plus efficace.

Vous explorerez différentes expressions de filtres de capture et les appliquerez à des scénarios réels. Cette expérience pratique améliorera vos compétences en résolution de problèmes réseau et en analyse de sécurité.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL wireshark(("Wireshark")) -.-> wireshark/WiresharkGroup(["Wireshark"]) wireshark/WiresharkGroup -.-> wireshark/packet_capture("Packet Capture") wireshark/WiresharkGroup -.-> wireshark/display_filters("Display Filters") 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-415940{{"Appliquer des filtres de capture Wireshark pour l'analyse du trafic réseau"}} wireshark/display_filters -.-> lab-415940{{"Appliquer des filtres de capture Wireshark pour l'analyse du trafic réseau"}} wireshark/capture_filters -.-> lab-415940{{"Appliquer des filtres de capture Wireshark pour l'analyse du trafic réseau"}} wireshark/packet_analysis -.-> lab-415940{{"Appliquer des filtres de capture Wireshark pour l'analyse du trafic réseau"}} wireshark/commandline_usage -.-> lab-415940{{"Appliquer des filtres de capture Wireshark pour l'analyse du trafic réseau"}} end

Comprendre la syntaxe des filtres de capture

Dans le domaine de l'analyse réseau, gérer une grande quantité de données peut être écrasant. C'est là que les filtres de capture de Wireshark deviennent utiles. Les filtres de capture vous permettent de collecter uniquement les paquets spécifiques qui correspondent à vos critères. Cela réduit considérablement le volume de données que vous devez analyser. Il est important de noter que les filtres de capture sont différents des filtres d'affichage. Les filtres d'affichage sont utilisés pour filtrer les paquets déjà capturés, tandis que les filtres de capture fonctionnent pendant le processus de capture de paquets.

Qu'est - ce que les filtres de capture

Les filtres de capture utilisent la syntaxe Berkeley Packet Filter (BPF). Le BPF est un langage spécialisé conçu pour filtrer les paquets réseau avant qu'ils ne soient traités par des applications telles que Wireshark. En appliquant ces filtres, vous pouvez atteindre plusieurs objectifs importants :

  • Réduire la quantité de données capturées : Au lieu de capturer tout le trafic réseau, vous pouvez vous concentrer sur les parties pertinentes, ce qui économise de l'espace de stockage et de la puissance de traitement.
  • Cibler des types spécifiques de trafic : Vous pouvez cibler des types particuliers d'activités réseau, telles que les requêtes HTTP ou les connexions SSH.
  • Améliorer les performances lors de la capture de paquets : Avec moins de données à gérer, le processus de capture de paquets devient plus rapide et plus efficace.
  • Simplifier l'analyse ultérieure : Lorsque vous avez un ensemble de données plus petit et plus pertinent, il est beaucoup plus facile d'analyser et de tirer des conclusions.

Syntaxe de base des filtres de capture

Les filtres de capture de Wireshark utilisent une syntaxe spécifique basée sur le langage de filtre libpcap. Jetons un coup d'œil à quelques éléments courants :

  • host : Cet élément filtre le trafic en fonction de l'adresse IP ou du nom d'hôte. Par exemple, si vous utilisez le filtre host 192.168.0.2, Wireshark capturera tout le trafic vers ou depuis l'adresse IP spécifiée.
  • net : Il filtre le trafic en fonction d'une adresse réseau et d'un masque de sous - réseau. Par exemple, le filtre net 10.0.0.0/24 capturera le trafic du réseau 10.0.0.0/24.
  • port : Ce filtre le trafic en fonction du numéro de port. Par exemple, port 80 est utilisé pour capturer le trafic HTTP car HTTP utilise généralement le port 80.
  • protocol : Il filtre le trafic en fonction du protocole. Par exemple, tcp capturera tout le trafic TCP, et udp capturera tout le trafic UDP.

Vous pouvez combiner ces éléments à l'aide d'opérateurs logiques :

  • and ou && : Lorsque vous utilisez cet opérateur, les deux conditions doivent être vraies pour qu'un paquet soit capturé.
  • or ou || : Avec cet opérateur, l'une des conditions peut être vraie pour qu'un paquet soit capturé.
  • not ou ! : Cet opérateur inverse une condition. Donc, si vous utilisez not tcp, il capturera tout le trafic non - TCP.

Mettons en pratique avec un filtre simple

Maintenant, mettons en pratique ce que nous avons appris. Suivez ces étapes pour ouvrir Wireshark et appliquer un filtre de capture de base :

  1. Tout d'abord, vous devez ouvrir un terminal. Vous pouvez le faire en cliquant sur l'icône du terminal dans la barre des tâches du bureau ou en appuyant sur Ctrl+Alt+T.

  2. Une fois le terminal ouvert, tapez la commande suivante pour lancer Wireshark :

    wireshark
  3. Lorsque Wireshark s'ouvre, vous verrez l'écran de démarrage principal. Cet écran affiche toutes les interfaces réseau disponibles sur votre système.

  4. Recherchez le champ de saisie "Capture Filter:" en haut de la fenêtre Wireshark. C'est là que vous entrerez votre filtre de capture.

    Wireshark capture filter syntax
  5. Tapez tcp dans la boîte de filtre. En faisant cela, vous indiquez à Wireshark de capturer uniquement les paquets TCP.

  6. Dans la liste des interfaces, choisissez celle étiquetée any. Sélectionner any signifie que Wireshark capturera les paquets sur toutes les interfaces réseau.

  7. Cliquez sur le bouton bleu en forme de nageoire de requin Start. Cela démarrera le processus de capture de paquets avec le filtre que vous avez appliqué.

    Capture filter
  8. Laissez Wireshark fonctionner pendant environ 10 - 15 secondes. Pendant ce temps, il capturera quelques paquets TCP. Vous devriez commencer à voir des paquets apparaître dans la fenêtre principale.

  9. Pour arrêter la capture, cliquez sur le bouton rouge carré Stop dans la barre d'outils.

  10. Maintenant, vous voulez enregistrer les paquets capturés pour une analyse ultérieure. Cliquez sur File > Save As dans la barre de menu.

  11. Dans la boîte de dialogue d'enregistrement de fichier, accédez au répertoire /home/labex/project.

  12. Entrez step1.pcapng comme nom de fichier et cliquez sur Save.

    Save captured packets

Vous avez maintenant appliqué avec succès un filtre de capture de base pour collecter uniquement les paquets TCP et enregistré les résultats pour une analyse ultérieure.

Application de filtres de capture pour un trafic spécifique

Dans cette étape, nous allons nous concentrer sur la capture d'un trafic réseau spécifique. Plus précisément, vous apprendrez à appliquer un filtre de capture plus spécifique pour capturer le trafic HTTP sur le port 80. Le trafic HTTP sur le port 80 est très courant sur Internet, car il est utilisé pour les communications web non chiffrées. Après avoir configuré le filtre, vous utiliserez un script pour générer un peu de trafic de test. Cela vous aidera à voir comment le filtre fonctionne dans un scénario réel.

Création d'une nouvelle capture avec un filtre spécifique

Tout d'abord, configurons une nouvelle capture avec un filtre pour le port 80. Avant de commencer une nouvelle capture, nous devons nous assurer qu'aucune capture précédente n'est ouverte.

  1. Si vous avez toujours la capture précédente ouverte, fermez - la en cliquant sur File > Close ou en cliquant sur le bouton Close this capture file (X) dans le coin supérieur droit de la liste des paquets. Cette étape est importante car avoir plusieurs captures ouvertes peut causer de la confusion et peut affecter la précision de votre nouvelle capture.

    Close this capture file
  2. Une fois que vous avez fermé la capture précédente, vous devriez maintenant voir l'écran d'accueil de Wireshark affichant les interfaces disponibles. C'est sur cet écran que vous allez commencer à configurer votre nouvelle capture.

  3. Nous allons utiliser une méthode plus détaillée pour définir le filtre de capture cette fois - ci. Cliquez sur le bouton Capture Options (ou allez dans Capture > Options dans le menu). La boîte de dialogue Capture Options vous donne plus de contrôle sur la façon dont Wireshark capture les paquets, y compris la définition du filtre de capture.

    Capture filter
  4. Dans la boîte de dialogue Capture Options, vous verrez une liste d'interfaces et une zone de saisie Capture Filter en bas. Les interfaces représentent les connexions réseau disponibles sur votre système, et la zone Capture Filter est là où vous spécifierez les conditions pour les paquets que vous souhaitez capturer.

    Capture filter
  5. Cliquez sur la zone Capture Filter et entrez le filtre : port 80. Ce filtre capturera tout le trafic (à la fois TCP et UDP) qui utilise le port 80. Le port 80 est couramment utilisé pour les communications HTTP, donc en utilisant ce filtre, nous indiquons à Wireshark de ne capturer que les paquets liés au trafic HTTP sur ce port.

  6. Alternativement, vous pouvez cliquer sur le bouton Capture Filter: pour sélectionner parmi les signets de filtres enregistrés. Cela peut être utile si vous avez un ensemble de filtres que vous utilisez fréquemment.

    Capture filter
  7. Dans la boîte de dialogue de sélection de filtre, vous pouvez choisir parmi des filtres prédéfinis ou en créer un nouveau. Pour l'instant, entrez simplement port 80 directement dans la zone de filtre. Cela garantit que nous capturons le trafic spécifique qui nous intéresse.

    Capture filter
  8. Assurez - vous que l'interface any est sélectionnée et cliquez sur le bouton Start pour commencer à capturer les paquets correspondant au filtre. Sélectionner any signifie que Wireshark capturera les paquets de toutes les interfaces réseau disponibles.

Génération de trafic de test

Maintenant que Wireshark capture le trafic sur le port 80, générons un peu de trafic de test pour voir le filtre en action. Cela vous aidera à confirmer que le filtre fonctionne comme prévu.

  1. Ouvrez une nouvelle fenêtre de terminal en cliquant sur l'icône du terminal dans la barre des tâches ou en appuyant sur Ctrl+Alt+T. C'est dans le terminal que vous exécuterez les commandes pour générer le trafic de test.

  2. Dans le nouveau terminal, accédez au répertoire du projet :

    cd /home/labex/project

    Cette commande change le répertoire de travail actuel en le répertoire du projet où se trouve le script de génération de trafic.

  3. Exécutez le script pré - créé pour générer un trafic HTTP simulé :

    ./simulate_traffic.sh

    Ce script est conçu pour créer un serveur simple écoutant sur le port 80 et envoyer des données à celui - ci, simulant un trafic HTTP réel.

  4. Vous devriez voir une sortie similaire à ceci :

    Netcat server listening on port 80...
    Sending data to port 80...
    Please check the Wireshark output for the data sent to port 80.

    Cette sortie indique que le script fonctionne correctement et que des données sont envoyées au port 80.

  5. Ce script crée un serveur simple écoutant sur le port 80 et envoie un court message "Hello, Wireshark!" à celui - ci. Ce message sera capturé par Wireshark si le filtre fonctionne correctement.

Analyse du trafic capturé

  1. Revenez à la fenêtre Wireshark. Vous devriez voir les paquets générés par le script. Ces paquets sont le résultat du trafic de test que nous venons de générer.

  2. Ces paquets devraient montrer une communication sur le port 80, correspondant à notre filtre de capture. Cela confirme que le filtre fonctionne comme prévu.

    Capture port 80
  3. Dans la liste des paquets, vous devriez voir au moins 3 paquets :

    • Paquet TCP SYN pour établir la connexion : C'est la première étape de l'échange de trois messages TCP (TCP three - way handshake), où le client demande d'établir une connexion avec le serveur.
    • Paquet TCP SYN - ACK pour confirmer la connexion : Le serveur répond à la demande SYN du client, indiquant qu'il est prêt à établir une connexion.
    • Paquet TCP contenant les données "Hello, Wireshark!" : C'est le paquet de données réel qui contient le message envoyé par le script.
  4. Cliquez sur l'un des paquets pour voir ses détails dans le panneau du milieu. Vous pouvez développer les sections en cliquant sur les icônes de flèche. Cela vous permet de voir les différentes parties du paquet, telles que les en - têtes et les données.

  5. Arrêtez maintenant la capture en cliquant sur le bouton rouge carré Stop dans la barre d'outils. Arrêter la capture est important afin que vous puissiez commencer à analyser les paquets capturés sans que de nouveaux paquets ne soient ajoutés.

  6. Enregistrez les paquets capturés en cliquant sur File > Save As dans la barre de menu. Enregistrer les paquets vous permet de vous y référer plus tard pour une analyse plus approfondie.

  7. Accédez au répertoire /home/labex/project dans la boîte de dialogue d'enregistrement de fichier. C'est le répertoire où nous voulons stocker les paquets capturés.

  8. Entrez step2.pcapng comme nom de fichier et cliquez sur Save. Le format de fichier .pcapng est un format courant pour stocker les captures de paquets réseau.

Vous avez appliqué avec succès un filtre de capture spécifique pour collecter uniquement le trafic sur le port 80 et observé un trafic réel correspondant à ce filtre.

Analyse du trafic capturé avec des filtres d'affichage

Dans cette étape, nous allons apprendre à utiliser les filtres d'affichage pour analyser le trafic que vous avez déjà capturé. Avant de commencer, il est important de comprendre la différence entre les filtres de capture et les filtres d'affichage. Les filtres de capture sont utilisés pour décider quel trafic est collecté en premier lieu. Les filtres d'affichage, quant à eux, vous permettent de vous concentrer sur des parties spécifiques des paquets qui ont déjà été capturés. Ils sont comme une loupe pour vos données capturées, vous aidant à vous concentrer sur les détails qui vous intéressent.

Comprendre la différence entre les filtres de capture et d'affichage

Examinons de plus près la différence entre les filtres de capture et les filtres d'affichage.

  • Les filtres de capture sont appliqués avant l'enregistrement des paquets. Ils utilisent la syntaxe Berkeley Packet Filter (BPF). Considérez les filtres de capture comme un gardien à l'entrée. Ils décident quels paquets sont autorisés à entrer et à être capturés.
  • Les filtres d'affichage sont appliqués aux paquets qui ont déjà été capturés. Ils utilisent la propre syntaxe de Wireshark. Les filtres d'affichage sont comme un projecteur qui met en évidence des paquets spécifiques parmi ceux qui ont déjà été capturés.
  • Les filtres d'affichage sont plus puissants et flexibles que les filtres de capture. Ils vous permettent d'effectuer des recherches et des analyses plus complexes sur les données capturées.
  • Les filtres d'affichage ne réduisent pas la quantité de données capturées. Ils contrôlent uniquement ce qui est affiché dans l'interface. Ainsi, les données capturées d'origine restent intactes et vous pouvez modifier le filtre d'affichage autant de fois que vous le souhaitez pour afficher différents aspects des données.

Ouvrir votre fichier capturé

Maintenant, ouvrons le fichier qui contient les paquets que vous avez capturés précédemment.

  1. Si Wireshark est toujours ouvert depuis l'étape précédente, vous pouvez continuer directement. Sinon, ouvrez Wireshark, puis ouvrez le fichier que vous avez enregistré à l'étape 2.
  2. Pour ouvrir un fichier précédemment enregistré dans Wireshark :
    • Cliquez sur File > Open (Fichier > Ouvrir) dans la barre de menu. C'est une façon courante d'accéder aux fichiers dans de nombreuses applications logicielles.
    • Accédez au répertoire /home/labex/project. C'est là que le fichier capturé est stocké.
    • Sélectionnez le fichier step2.pcapng et cliquez sur Open (Ouvrir). Le format de fichier .pcapng est couramment utilisé pour stocker les données des paquets réseau.
  3. Après avoir ouvert le fichier, vous devriez maintenant voir les paquets que vous avez capturés à l'étape 2 affichés dans Wireshark. Ce sont les données que nous allons analyser à l'aide des filtres d'affichage.

Application des filtres d'affichage

Ensuite, nous allons appliquer des filtres d'affichage aux paquets capturés.

  1. Localisez la barre d'outils des filtres d'affichage en haut de la fenêtre Wireshark. Elle est différente du filtre de capture que vous avez utilisé précédemment. Elle a un fond vert clair lorsqu'elle est active. La barre d'outils des filtres d'affichage est l'endroit où vous saisirez les expressions de filtre pour afficher des paquets spécifiques.

  2. Dans le champ du filtre d'affichage, tapez tcp et appuyez sur Entrée ou cliquez sur le bouton flèche droite. En tapant tcp, nous demandons à Wireshark de n'afficher que les paquets qui utilisent le protocole TCP. Cela n'affichera que les paquets TCP dans l'affichage, en filtrant tous les autres paquets de protocole s'ils existent.

  3. Remarquez comment les paquets sont immédiatement filtrés dans l'affichage sans nécessiter une nouvelle capture. C'est l'un des avantages de l'utilisation des filtres d'affichage. Vous pouvez rapidement analyser différents aspects des données capturées sans avoir à capturer à nouveau le trafic.

  4. Maintenant, essayons un filtre d'affichage plus spécifique. Effacez le filtre actuel en cliquant sur le bouton X sur le côté droit de la barre de filtre. Cela supprimera le filtre précédent et affichera à nouveau tous les paquets capturés.

  5. Entrez le filtre suivant pour afficher les paquets contenant le mot "Wireshark" :

    frame contains "Wireshark"

    Ce filtre recherche le mot "Wireshark" dans les données de trame (frame data) des paquets.

  6. Appuyez sur Entrée ou cliquez sur la flèche droite pour appliquer le filtre.

    Display filter
  7. Vous ne devriez maintenant voir que les paquets qui contiennent le texte "Wireshark" - probablement juste un ou deux paquets qui contiennent notre message "Hello, Wireshark !". Cela montre comment les filtres d'affichage peuvent être utilisés pour trouver des informations spécifiques dans les paquets capturés.

  8. Si vous cliquez sur l'un de ces paquets dans la liste des paquets, vous pouvez voir ses détails dans le panneau central. Recherchez la section "Data" qui devrait afficher le texte "Hello, Wireshark !". Cela vous permet d'examiner le contenu des paquets plus en détail.

Création d'un rapport

Maintenant que vous avez analysé le trafic à l'aide des filtres d'affichage, créons un rapport simple documentant ce que vous avez trouvé.

  1. Comptez le nombre de paquets qui correspondent au filtre frame contains "Wireshark". Le nombre doit être affiché dans la barre d'état en bas de la fenêtre Wireshark, affichant quelque chose comme "Displayed: X of Y packets" (Affichés : X sur Y paquets). Ce nombre représente le nombre de paquets qui contiennent le mot "Wireshark".

  2. Ouvrez une fenêtre de terminal en cliquant sur l'icône du terminal dans la barre des tâches ou en appuyant sur Ctrl+Alt+T. Le terminal est un outil puissant qui vous permet d'exécuter des commandes sur votre ordinateur.

  3. Dans le terminal, créez un fichier de rapport avec les informations de comptage des paquets :

    echo "Number of packets matching the filter expression: 1" > /home/labex/project/report.txt

    Remarque : Remplacez 1 dans la commande ci-dessus par le nombre réel de paquets que vous avez observés correspondant au filtre. Ce nombre peut varier en fonction de la façon dont le script s'est exécuté.

    Save report

Vous avez maintenant appliqué avec succès des filtres d'affichage pour analyser le trafic réseau capturé et documenté vos résultats dans un fichier de rapport.

Résumé

Dans ce laboratoire, vous avez appris à utiliser les filtres de capture de Wireshark pour capturer et analyser sélectivement le trafic réseau selon des critères spécifiques. Vous avez pratiqué des compétences clés telles que la compréhension de la syntaxe de base des filtres de capture basée sur le langage Berkeley Packet Filter, leur application lors de captures en direct et la distinction entre les filtres de capture et les filtres d'affichage.

Ces compétences sont cruciales pour les administrateurs de réseau, les analystes en sécurité et les professionnels du TI qui traitent des problèmes de réseau ou des incidents de sécurité. Maîtriser les filtres de capture permet une analyse réseau plus efficace en se concentrant sur le trafic pertinent. Au fur et à mesure de votre progression dans l'analyse de réseau, vous pouvez vous appuyer sur ces compétences pour créer des filtres complexes pour une sélection sophistiquée du trafic dans des environnements complexes.