Analyser le trafic IPv6 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 à analyser le trafic réseau IPv6 à l'aide de l'outil en ligne de commande Tshark de Wireshark. Vous allez pratiquer des techniques essentielles telles que la capture de paquets avec des filtres IPv6 et l'examen de détails spécifiques des paquets, notamment les limites de sauts (hop limits) et les classes de trafic.

Grâce à des exercices pratiques, vous acquerrez de l'expérience dans la capture de trafic IPv6 en direct et l'application de filtres d'affichage pour analyser les captures enregistrées. Le laboratoire couvre les commandes de base jusqu'aux méthodes d'analyse avancées en utilisant les fonctionnalités puissantes de Tshark.

Capturer le trafic IPv6 avec -f "ip6"

Dans cette étape, vous apprendrez à capturer le trafic réseau IPv6 en utilisant l'option de filtre de capture -f "ip6" de Wireshark. Ce filtre garantit que seuls les paquets IPv6 sont capturés lors du processus de capture réseau. IPv6 est la dernière version du protocole Internet, conçu pour remplacer IPv4 grâce à son espace d'adressage plus vaste. Lors de l'analyse du trafic réseau, il est souvent utile de se concentrer sur des protocoles spécifiques comme IPv6 pour réduire le bruit dans votre capture.

  1. Tout d'abord, ouvrez un terminal dans votre machine virtuelle LabEx en cliquant sur l'icône du terminal sur le bureau Xfce ou en utilisant le raccourci Ctrl+Alt+T. C'est dans le terminal que vous exécuterez toutes les commandes de ce laboratoire.

  2. Accédez au répertoire de travail par défaut où nous allons stocker nos fichiers de capture :

cd ~/project
  1. Lancez Wireshark avec le filtre de capture IPv6. Cette commande indique à Wireshark de ne capturer que les paquets utilisant le protocole IPv6 :
sudo wireshark -k -f "ip6" -i any

Décortiquons cette commande :

  • -k démarre immédiatement la capture lorsque Wireshark s'ouvre
  • -f "ip6" applique le filtre de capture IPv6 (seuls les paquets IPv6 seront capturés)
  • -i any capture le trafic sur toutes les interfaces réseau disponibles
  1. Vous devriez voir l'interface graphique de Wireshark s'ouvrir avec seulement des paquets IPv6 en cours de capture. Si aucun trafic IPv6 n'est présent sur votre réseau (ce qui est courant dans de nombreux environnements), vous pouvez générer un peu de trafic de test en effectuant un ping à une adresse IPv6 :
ping6 -c 4 ipv6.google.com

La commande ping6 envoie des paquets ICMPv6 pour tester la connectivité IPv6. L'option -c 4 envoie exactement 4 paquets avant de s'arrêter.

  1. Observez les paquets capturés dans Wireshark. Tous les paquets affichés devraient être des paquets IPv6. La liste des paquets affichera des informations de base telles que :

    • Adresse IPv6 source (d'où vient le paquet)
    • Adresse IPv6 de destination (où le paquet se dirige)
    • Protocole (quel type de trafic IPv6 il s'agit)
    • Longueur du paquet et d'autres détails de base
  2. Pour arrêter la capture une fois votre analyse terminée, cliquez sur le bouton "Arrêter" (un carré rouge) dans la barre d'outils de Wireshark. Cela figera l'affichage des paquets afin que vous puissiez examiner le trafic capturé sans que de nouveaux paquets n'interfèrent avec votre analyse.

Filtrer les paquets IPv6 avec -Y "ipv6"

Dans cette étape, vous apprendrez à appliquer des filtres d'affichage pour analyser le trafic IPv6 capturé en utilisant l'option de filtre d'affichage -Y "ipv6" de Wireshark. Ce filtre affiche uniquement les paquets IPv6 à partir d'un fichier de capture existant, vous permettant de vous concentrer sur le trafic IPv6 tout en ignorant les paquets d'autres protocoles.

  1. Tout d'abord, assurez-vous d'avoir un fichier de capture de l'étape précédente. Sinon, nous allons d'abord capturer un peu de trafic IPv6. La commande suivante lance Wireshark en capturant uniquement les paquets IPv6 sur toutes les interfaces :
cd ~/project
sudo wireshark -k -f "ip6" -i any -w ipv6_capture.pcapng

(Laissez-le fonctionner pendant 10 à 15 secondes pour capturer suffisamment de paquets, puis arrêtez la capture en cliquant sur le bouton d'arrêt dans Wireshark)

  1. Maintenant, nous allons filtrer les paquets IPv6 capturés en utilisant la fonction de filtre d'affichage de Wireshark. L'option -Y nous permet de spécifier ce que nous voulons afficher à partir du fichier de capture :
sudo wireshark -r ipv6_capture.pcapng -Y "ipv6"

Cette commande effectue deux actions principales :

  • -r indique à Wireshark de lire le fichier de capture spécifié (ipv6_capture.pcapng)
  • -Y applique le filtre d'affichage "ipv6" qui n'affiche que les paquets IPv6
  1. Lorsque Wireshark s'ouvre, vous verrez uniquement les paquets IPv6 affichés dans l'interface. Remarquez que la barre de filtre d'affichage en haut indique "ipv6" comme filtre actif. Cela signifie que tous les paquets non-IPv6 sont temporairement masqués.

  2. Essayons quelques filtres IPv6 plus spécifiques pour comprendre le fonctionnement des filtres d'affichage. Ces exemples montrent comment affiner le trafic :

## Filtrer uniquement les paquets ICMP IPv6 (comme le trafic de ping6)
sudo wireshark -r ipv6_capture.pcapng -Y "icmpv6"

## Filtrer le trafic IPv6 impliquant une adresse spécifique (ici en utilisant l'adresse locale ::1 comme exemple)
sudo wireshark -r ipv6_capture.pcapng -Y "ipv6.addr == ::1"
  1. Au fur et à mesure que vous essayez différents filtres, observez comment la liste des paquets se met à jour immédiatement. Ce filtrage en temps réel vous aide à trouver rapidement des modèles de trafic spécifiques dans de grands fichiers de capture. La syntaxe des filtres d'affichage est puissante - vous pouvez combiner des conditions pour créer des filtres très spécifiques.

Vérifier les limites de saut avec -z ip6_hop,tree

Dans cette étape, vous apprendrez à analyser les valeurs de limite de saut (Hop Limit) IPv6 en utilisant la fonction de statistiques de Wireshark. Le champ de limite de saut dans IPv6 est similaire au champ TTL (Time To Live) dans IPv4 - il spécifie combien de routeurs (sauts) un paquet peut traverser avant d'être rejeté. C'est un mécanisme crucial pour empêcher les paquets de circuler indéfiniment dans le réseau.

  1. Tout d'abord, accédez au répertoire du projet où nous allons travailler avec les fichiers de capture. Cela garantit que tous nos fichiers restent organisés en un seul endroit :
cd ~/project
  1. Si vous n'avez pas encore créé de fichier de capture, nous allons en créer un maintenant qui capture spécifiquement le trafic IPv6. Le filtre -f "ip6" indique à Wireshark de ne capturer que les paquets IPv6, tandis que -i any signifie qu'il écoutera sur toutes les interfaces disponibles :
sudo wireshark -k -f "ip6" -i any -w ipv6_hoplimit.pcapng

(Laissez la capture s'exécuter pendant 10 à 15 secondes pour collecter suffisamment de paquets, puis arrêtez-la en cliquant sur le bouton d'arrêt dans Wireshark)

  1. Maintenant, nous allons utiliser Tshark (la version en ligne de commande de Wireshark) pour analyser les valeurs de limite de saut. L'option -z ip6_hop,tree génère un arbre statistique montrant la distribution des valeurs de limite de saut dans les paquets capturés :
sudo tshark -r ipv6_hoplimit.pcapng -z ip6_hop,tree
  1. La sortie affichera trois informations importantes sur chaque valeur de limite de saut trouvée dans les paquets :
  • La valeur réelle de la limite de saut (les valeurs courantes sont 64, 128 ou 255)
  • Combien de paquets avaient cette limite de saut spécifique
  • Quel pourcentage du nombre total de paquets cette valeur représente
  1. Voici à quoi ressemble une sortie typique. Vos nombres réels peuvent varier en fonction de votre trafic réseau :
===================================================================
IPv6 Hop Limit Tree
===================================================================
Hop Limit    Count     %
      64       12    60%
     128        6    30%
     255        2    10%
===================================================================
  1. Pour une vue plus détaillée qui inclut les adresses IPv6, nous pouvons utiliser cette commande. L'option -q rend la sortie plus silencieuse en supprimant les informations sur le nombre de paquets :
sudo tshark -r ipv6_hoplimit.pcapng -z ip6_hop,ipv6 -q

Afficher les détails avec -V

Dans cette étape, nous allons explorer comment examiner en profondeur les paquets IPv6 en utilisant le mode verbeux de Wireshark. Le drapeau -V est particulièrement utile lorsque vous avez besoin de voir tous les détails techniques qui composent un paquet réseau, couche par couche. Cela aide à comprendre comment différents protocoles interagissent dans la communication IPv6.

  1. Tout d'abord, plaçons-nous dans le bon répertoire de travail. Cela nous permet d'accéder facilement à nos fichiers de capture :
cd ~/project
  1. Si vous n'avez pas déjà de fichier de capture, nous allons en créer un nouveau spécifiquement pour le trafic IPv6. La commande suivante lance une capture en direct :
sudo wireshark -k -f "ip6" -i any -w ipv6_verbose.pcapng

(Laissez la capture s'exécuter pendant environ 10 à 15 secondes pour collecter des données suffisantes, puis arrêtez-la manuellement)

  1. Maintenant, nous allons utiliser tshark pour examiner en détail les paquets capturés. Le mode verbeux (-V) nous donne la présentation complète :
sudo tshark -r ipv6_verbose.pcapng -V -c 5

Décortiquons cette commande :

  • -r spécifie le fichier d'entrée à lire
  • -V active la sortie verbeuse affichant toutes les couches de protocole
  • -c 5 limite la sortie à 5 paquets pour une analyse initiale plus facile
  1. La sortie affichera plusieurs sections importantes :
  • Informations sur le cadre (indiquant quand et comment le paquet a été capturé)
  • Couche Ethernet (adresses MAC et détails de la couche de liaison)
  • Spécificités IPv6 (y compris la version, la classe de trafic et les étiquettes de flux)
  • Protocoles de la couche de transport (que ce soit TCP, UDP ou ICMPv6)
  • Données de charge utile réelles si disponibles
  1. Lorsque vous travaillez avec des protocoles spécifiques, vous pouvez combiner des filtres avec une sortie verbeuse. Cet exemple se concentre uniquement sur les paquets ICMPv6 :
sudo tshark -r ipv6_verbose.pcapng -Y "icmpv6" -V -c 3
  1. Pour la documentation ou une analyse ultérieure, nous pouvons enregistrer la sortie détaillée dans un fichier texte. Cela crée un enregistrement permanent de notre examen :
sudo tshark -r ipv6_verbose.pcapng -V > ipv6_packet_details.txt

Résumé

Dans ce laboratoire, vous avez appris les techniques clés pour analyser le trafic IPv6 en utilisant Tshark, l'outil en ligne de commande de Wireshark. Vous avez pratiqué la capture de paquets IPv6 avec le filtre -f "ip6" et la surveillance des interfaces en utilisant -i any, tout en vérifiant les résultats avec le trafic de test ping6.

De plus, vous avez exploré une analyse IPv6 avancée en appliquant des filtres d'affichage tels que -Y "ipv6", en examinant les limites de saut avec -z ip6_hop,tree et en visualisant les structures détaillées des paquets en utilisant l'option verbeuse -V. Ces compétences permettent d'inspecter efficacement le trafic IPv6 et de résoudre les problèmes dans les environnements réseau.