Introduction
Dans le domaine de la cybersécurité, la compréhension et l'analyse du trafic réseau sont des compétences cruciales. Ce tutoriel vous guide à travers le processus de capture, de filtrage et d'analyse du trafic IPv6 en utilisant Wireshark, un puissant analyseur de protocole réseau.
IPv6 (Internet Protocol version 6) représente la prochaine génération de protocoles Internet, conçue pour remplacer à terme l'IPv4, largement utilisé. Alors que les réseaux continuent d'évoluer, les professionnels de la sécurité doivent maîtriser la surveillance des deux protocoles. À la fin de ce laboratoire, vous serez doté de connaissances pratiques pour améliorer vos capacités de surveillance de la sécurité réseau.
Installation et configuration de Wireshark
Avant de pouvoir capturer et analyser le trafic IPv6, nous devons installer Wireshark sur notre système Ubuntu et effectuer une configuration de base.
Installation de Wireshark
Commençons par mettre à jour les listes de paquets et installer Wireshark :
sudo apt update
sudo apt install -y wireshark
Pendant l'installation, il se peut qu'on vous demande si les non-superutilisateurs doivent être en mesure de capturer des paquets. Pour ce laboratoire, sélectionnez "Oui" pour permettre aux utilisateurs non-root de capturer des paquets.
Une fois l'installation terminée, nous devons ajouter notre utilisateur au groupe wireshark pour permettre la capture de paquets sans privilèges root :
sudo usermod -a -G wireshark labex
Pour que les modifications prennent effet, déconnectons-nous et reconnectons-nous :
newgrp wireshark
Vérification de l'installation
Pour vérifier que Wireshark a été installé avec succès, vérifions sa version :
wireshark --version
Vous devriez voir une sortie similaire à la suivante :
Wireshark 3.6.2 (Git v3.6.2 packaged as 3.6.2-2)
Lancement de Wireshark
Maintenant, lançons Wireshark à partir du terminal :
wireshark &
Le symbole & exécute l'application en arrière-plan, vous permettant de continuer à utiliser le terminal.
Vous devriez voir l'application Wireshark s'ouvrir avec une liste des interfaces réseau disponibles. L'interface pourrait ressembler à ceci :

Wireshark est maintenant prêt pour la capture et l'analyse du trafic réseau. Dans l'étape suivante, nous allons générer du trafic IPv6 que nous pourrons capturer et analyser.
Génération de trafic IPv6 pour la capture
Avant de pouvoir analyser le trafic IPv6, nous devons générer des paquets IPv6 sur notre réseau. Dans cette étape, nous utiliserons divers outils pour générer du trafic IPv6.
Comprendre les bases d'IPv6
Les adresses IPv6 sont des adresses de 128 bits généralement écrites en notation hexadécimale, avec des deux-points séparant chaque groupe de 16 bits, comme 2001:0db8:85a3:0000:0000:8a2e:0370:7334. IPv6 offre plusieurs avantages par rapport à IPv4 :
- Un espace d'adressage plus grand (128 bits contre 32 bits)
- Un format d'en-tête simplifié pour une meilleure efficacité de routage
- Sécurité intégrée avec IPsec
- Prise en charge améliorée de la qualité de service (QoS)
Vérification de la connectivité IPv6
Tout d'abord, vérifions si notre système dispose d'une connectivité IPv6 en examinant les interfaces réseau :
ip -6 addr show
Cette commande affiche toutes les adresses IPv6 attribuées aux interfaces réseau de votre système. Vous devriez voir une sortie similaire à :
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1000
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
inet6 fe80::215:5dff:fe00:1/64 scope link
valid_lft forever preferred_lft forever
Les adresses fe80:: sont des adresses locales de liaison qui sont automatiquement configurées sur les interfaces compatibles IPv6.
Génération de trafic IPv6
Générons du trafic IPv6 que nous pourrons capturer avec Wireshark. Nous utiliserons la commande ping6 pour envoyer des requêtes d'écho ICMPv6 aux adresses IPv6.
Tout d'abord, faisons un ping à l'adresse de bouclage IPv6 :
ping6 -c 4 ::1
Cela envoie 4 requêtes d'écho ICMPv6 à l'adresse de bouclage (::1). Vous devriez voir une sortie comme :
PING ::1(::1) 56 data bytes
64 bytes from ::1: icmp_seq=1 ttl=64 time=0.035 ms
64 bytes from ::1: icmp_seq=2 ttl=64 time=0.074 ms
64 bytes from ::1: icmp_seq=3 ttl=64 time=0.073 ms
64 bytes from ::1: icmp_seq=4 ttl=64 time=0.074 ms
--- ::1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3072ms
rtt min/avg/max/mdev = 0.035/0.064/0.074/0.017 ms
Ensuite, faisons un ping à une adresse IPv6 bien connue. Les serveurs DNS de Google prennent en charge IPv6 et peuvent être utilisés pour les tests :
ping6 -c 4 2001:4860:4860::8888
Si votre système dispose d'une connectivité IPv6 publique, vous devriez voir des réponses ping réussies. Sinon, vous pourriez voir des erreurs indiquant qu'il n'y a pas de route vers l'hôte.
Utilisation de netcat pour le trafic IPv6
Nous pouvons également utiliser netcat pour générer du trafic IPv6. Ouvrons deux fenêtres de terminal.
Dans le premier terminal, démarrez un serveur netcat en écoute sur une adresse IPv6 :
nc -6 -l 8888
Cela démarre un serveur en écoute sur le port 8888 pour les connexions IPv6.
Dans le second terminal, connectez-vous à ce serveur :
nc -6 ::1 8888
Vous pouvez maintenant taper des messages dans l'un ou l'autre terminal, et ils seront envoyés à l'autre terminal via IPv6. Cela crée du trafic TCP que nous pouvons capturer dans Wireshark.
Tapez quelques messages dans chaque terminal pour générer du trafic, puis appuyez sur Ctrl+C dans les deux terminaux pour fermer les connexions.
Maintenant que nous avons généré du trafic IPv6, nous sommes prêts à le capturer et à l'analyser avec Wireshark à l'étape suivante.
Capture du trafic IPv6 avec Wireshark
Maintenant que nous avons généré du trafic IPv6, nous pouvons utiliser Wireshark pour le capturer et l'examiner. Dans cette étape, nous allons apprendre à configurer Wireshark pour capturer les paquets IPv6.
Démarrage d'une capture
Tout d'abord, lancez Wireshark s'il n'est pas déjà en cours d'exécution :
wireshark &
Dans la fenêtre principale de Wireshark, vous verrez une liste des interfaces réseau disponibles. Nous voulons capturer sur l'interface qui gère notre trafic réseau :
- Localisez l'interface nommée
lo(bouclage) dans la liste - Double-cliquez sur cette interface pour commencer à capturer les paquets dessus
Alternativement, vous pouvez sélectionner l'interface et cliquer sur le bouton "Démarrer la capture de paquets" (l'icône de l'aileron de requin bleu) dans la barre d'outils.
Wireshark commencera maintenant à capturer tous les paquets sur l'interface de bouclage, y compris tout le trafic IPv6.
Génération de trafic pendant la capture
Pendant que Wireshark capture, générons du trafic IPv6. Ouvrez un nouveau terminal et exécutez :
ping6 -c 10 ::1
Cela envoie 10 requêtes d'écho ICMPv6 à l'adresse de bouclage, qui seront visibles dans Wireshark.
Vous devriez voir des paquets apparaître dans la fenêtre Wireshark au fur et à mesure de leur capture. Chaque ligne représente un seul paquet.
Arrêt de la capture
Après avoir généré du trafic, arrêtons la capture :
- Cliquez sur le bouton "Arrêter la capture de paquets" (l'icône du carré rouge) dans la barre d'outils
- Wireshark affichera maintenant uniquement les paquets qui ont été capturés pendant la session
Comprendre l'interface Wireshark
L'interface Wireshark se compose de trois panneaux principaux :
- Panneau de liste des paquets (en haut) : Affiche tous les paquets capturés dans l'ordre séquentiel
- Panneau de détails des paquets (au milieu) : Affiche les détails du paquet sélectionné dans une vue hiérarchique
- Panneau d'octets de paquets (en bas) : Affiche les octets bruts du paquet sélectionné en format hexadécimal et ASCII
Trouvons et sélectionnons un paquet IPv6 dans le panneau de liste des paquets. Recherchez les paquets avec "IPv6" répertorié dans la colonne "Protocole".
Lorsque vous sélectionnez un paquet IPv6, le panneau de détails des paquets affichera la structure de l'en-tête IPv6, y compris :
- Version (doit être 6 pour IPv6)
- Classe de trafic
- Étiquette de flux
- Longueur de la charge utile
- En-tête suivant
- Limite de sauts
- Adresse source
- Adresse de destination
Vous pouvez développer chaque champ en cliquant sur la flèche à côté pour voir plus de détails.
Sauvegarde de la capture
Sauvegardons notre capture pour une analyse ultérieure :
- Cliquez sur le menu "Fichier"
- Sélectionnez "Enregistrer sous"
- Naviguez vers le répertoire
/home/labex/project - Entrez un nom de fichier comme
ipv6_capture.pcapng - Cliquez sur "Enregistrer"
Les paquets capturés sont maintenant enregistrés dans un fichier qui peut être ouvert plus tard pour une analyse plus approfondie.
ls -l /home/labex/project/ipv6_capture.pcapng
Vous devriez voir une sortie confirmant que le fichier a été créé :
-rw-r--r-- 1 labex labex 12345 Sep 10 12:34 /home/labex/project/ipv6_capture.pcapng
Dans l'étape suivante, nous allons apprendre à filtrer et à analyser le trafic IPv6 que nous avons capturé.
Filtrage IPv6 de base dans Wireshark
Wireshark peut capturer un grand volume de paquets, ce qui rend essentiel le filtrage des données pour se concentrer sur un trafic spécifique. Dans cette étape, nous allons apprendre à utiliser les filtres d'affichage pour isoler le trafic IPv6.
Comprendre les filtres d'affichage Wireshark
Les filtres d'affichage Wireshark vous permettent d'afficher uniquement les paquets qui correspondent à des critères spécifiques. La syntaxe des filtres est riche et puissante, permettant un contrôle précis sur les paquets affichés.
Les filtres d'affichage sont saisis dans la barre de filtre en haut de la fenêtre Wireshark. Au fur et à mesure que vous tapez, la couleur d'arrière-plan fournit un retour d'information :
- Vert : Syntaxe de filtre valide
- Rouge : Syntaxe de filtre non valide
- Jaune : Filtre valide mais potentiellement problématique
Filtres IPv6 de base
Commençons par ouvrir notre fichier de capture enregistré :
- Cliquez sur le menu "Fichier"
- Sélectionnez "Ouvrir"
- Naviguez vers
/home/labex/project - Sélectionnez
ipv6_capture.pcapng - Cliquez sur "Ouvrir"
Maintenant, appliquons quelques filtres IPv6 de base :
Filtrage pour tout le trafic IPv6
Pour afficher uniquement les paquets IPv6, entrez ce qui suit dans la barre de filtre :
ipv6
Appuyez sur Entrée ou cliquez sur "Appliquer" pour appliquer le filtre. Seuls les paquets utilisant le protocole IPv6 seront affichés.
Filtrage par adresse IPv6
Pour filtrer les paquets par adresse source IPv6 :
ipv6.src == ::1
Cela affiche uniquement les paquets provenant de l'adresse de bouclage.
Pour filtrer les paquets par adresse de destination IPv6 :
ipv6.dst == ::1
Cela affiche uniquement les paquets destinés à l'adresse de bouclage.
Vous pouvez combiner des filtres en utilisant des opérateurs logiques :
ipv6.src == ::1 and ipv6.dst == ::1
Cela affiche uniquement les paquets où la source et la destination sont l'adresse de bouclage.
Filtrage par protocole IPv6
IPv6 utilise un champ "En-tête suivant" pour indiquer le protocole encapsulé dans le paquet IPv6. Les valeurs d'en-tête suivantes courantes incluent :
- 6 : TCP
- 17 : UDP
- 58 : ICMPv6
Pour filtrer les paquets ICMPv6 :
ipv6.nxt == 58
Ou vous pouvez simplement utiliser :
icmpv6
Pour filtrer les paquets TCP IPv6 :
ipv6.nxt == 6
Ou de manière équivalente :
ipv6 and tcp
Combinaison de filtres
Les filtres Wireshark peuvent être combinés en utilisant des opérateurs logiques :
andou&&: Les deux conditions doivent être vraiesorou||: Au moins une condition doit être vraienotou!: Négation d'une condition
Par exemple, pour trouver tous les paquets IPv6, sauf ICMPv6 :
ipv6 and not icmpv6
Pour trouver les paquets qui sont soit des requêtes d'écho ICMPv6, soit des réponses d'écho :
icmpv6.type == 128 or icmpv6.type == 129
Enregistrement des filtres
Si vous utilisez fréquemment certains filtres, vous pouvez les enregistrer pour une utilisation ultérieure :
- Entrez votre filtre dans la barre de filtre
- Cliquez sur le bouton "Enregistrer ce filtre" (signe plus à droite)
- Entrez un nom pour votre filtre
- Cliquez sur "OK"
Pour appliquer un filtre enregistré, cliquez sur le bouton "Filtre" (icône d'entonnoir) et sélectionnez votre filtre enregistré dans le menu déroulant.
Enregistrons un filtre pour les paquets ICMPv6 :
- Entrez
icmpv6dans la barre de filtre - Cliquez sur le signe plus
- Nommez-le "Trafic ICMPv6"
- Cliquez sur "OK"
Vous pouvez maintenant appliquer rapidement ce filtre chaque fois que nécessaire.
Utilisation des expressions de filtre à partir des détails des paquets
Wireshark offre un moyen pratique de créer des filtres à partir des détails des paquets :
- Sélectionnez un paquet dans la liste des paquets
- Dans le panneau de détails des paquets, faites un clic droit sur un champ
- Choisissez "Appliquer comme filtre" puis sélectionnez :
- "Sélectionné" pour filtrer sur cette valeur exacte
- "Non sélectionné" pour exclure cette valeur
- "Et sélectionné" pour ajouter la condition au filtre actuel
- "Ou sélectionné" pour ajouter une condition alternative
Cela facilite la création de filtres complexes sans mémoriser les noms de champs.
Essayez ceci en :
- Sélectionnez un paquet IPv6
- Développez la section "Internet Protocol Version 6" dans les détails du paquet
- Faites un clic droit sur le champ "En-tête suivant"
- Sélectionnez "Appliquer comme filtre" > "Sélectionné"
La barre de filtre affichera maintenant un filtre pour cette valeur d'en-tête suivante spécifique.
Dans l'étape suivante, nous allons aller au-delà du filtrage de base pour des techniques d'analyse IPv6 plus avancées.
Analyse IPv6 avancée dans Wireshark
Maintenant que vous connaissez le filtrage IPv6 de base, explorons des techniques d'analyse plus avancées dans Wireshark pour obtenir des informations plus approfondies sur les schémas de trafic IPv6.
Analyse du protocole IPv6
Analyse d'ICMPv6 pour la découverte de voisins
ICMPv6 joue un rôle crucial dans les réseaux IPv6, en particulier pour le protocole de découverte de voisins (NDP), qui remplace ARP en IPv4. Analysons le trafic NDP :
- Ouvrez Wireshark avec notre fichier de capture
- Appliquez le filtre suivant pour voir tous les messages NDP :
icmpv6.type >= 133 and icmpv6.type <= 137
Ce filtre inclut :
- Type 133 : Demande de routeur (Router Solicitation)
- Type 134 : Annonce de routeur (Router Advertisement)
- Type 135 : Demande de voisin (Neighbor Solicitation)
- Type 136 : Annonce de voisin (Neighbor Advertisement)
- Type 137 : Message de redirection (Redirect Message)
Si vous ne voyez aucun message NDP dans votre capture, générons-en :
## Dans un nouveau terminal, démarrez une nouvelle capture Wireshark sur l'interface appropriée
wireshark -i eth0 &
## Puis exécutez cette commande pour déclencher une demande de voisin
ping6 -c 2 ff02::1
Cela ping l'adresse multicast IPv6 de tous les nœuds, ce qui devrait déclencher des messages de découverte de voisins.
Analyse des en-têtes d'extension IPv6
IPv6 utilise des en-têtes d'extension pour inclure des informations facultatives. Pour filtrer les paquets avec des en-têtes d'extension :
ipv6.nxt != 6 and ipv6.nxt != 17 and ipv6.nxt != 58
Cela affiche les paquets IPv6 qui n'ont pas TCP, UDP ou ICMPv6 comme en-tête suivant, indiquant qu'ils utilisent probablement des en-têtes d'extension.
Utilisation des outils statistiques Wireshark
Wireshark fournit plusieurs outils statistiques qui sont précieux pour l'analyse du trafic IPv6.
Statistiques des conversations IPv6
Pour afficher les conversations IPv6 :
- Cliquez sur le menu "Statistiques"
- Sélectionnez "Conversations"
- Cliquez sur l'onglet "IPv6"
Cela affiche toutes les conversations IPv6 dans votre capture, en montrant les adresses source et de destination, les nombres de paquets et les nombres d'octets.
Vous pouvez trier les conversations par n'importe quelle colonne en cliquant sur l'en-tête de la colonne.
Hiérarchie des protocoles IPv6
Pour voir la distribution des protocoles dans votre capture :
- Cliquez sur le menu "Statistiques"
- Sélectionnez "Hiérarchie des protocoles"
Cela affiche une vue hiérarchique des protocoles, avec les pourcentages de paquets et d'octets pour chaque protocole. Vous pouvez voir quelle proportion de votre trafic est IPv6, et au sein de celui-ci, quelle part est ICMPv6, TCP, UDP, etc.
Statistiques des points de terminaison IPv6
Pour analyser les points de terminaison IPv6 :
- Cliquez sur le menu "Statistiques"
- Sélectionnez "Points de terminaison"
- Cliquez sur l'onglet "IPv6"
Cela affiche toutes les adresses IPv6 vues dans la capture, ainsi que les nombres de paquets et d'octets. Cela permet d'identifier les hôtes IPv6 les plus actifs.
Analyse du graphe de flux
Pour une représentation visuelle des échanges de paquets :
- Cliquez sur le menu "Statistiques"
- Sélectionnez "Graphe de flux"
- Dans les options, assurez-vous que "Adresses IPv6" est sélectionné pour le type de flux
- Cliquez sur "OK"
Cela crée une représentation visuelle des flux de paquets entre les hôtes, ce qui facilite la compréhension des schémas de communication.
Exportation de données pour une analyse plus approfondie
Pour exporter des données IPv6 pour une analyse dans d'autres outils :
- Cliquez sur le menu "Fichier"
- Sélectionnez "Exporter les dissections de paquets"
- Choisissez "En tant que CSV" (ou un autre format selon vos besoins)
- Sélectionnez les champs à exporter
- Cliquez sur "Enregistrer"
Exportons quelques informations IPv6 de base :
## Créez une exportation simple à partir de la ligne de commande
tshark -r /home/labex/project/ipv6_capture.pcapng -T fields -e frame.number -e ipv6.src -e ipv6.dst -e ipv6.nxt -E header=y -E separator=, > /home/labex/project/ipv6_analysis.csv
Cela crée un fichier CSV avec les numéros de trame, les adresses IPv6 source et de destination, et les valeurs d'en-tête suivantes.
Pour afficher le fichier exporté :
cat /home/labex/project/ipv6_analysis.csv
Vous devriez voir une sortie similaire à :
frame.number,ipv6.src,ipv6.dst,ipv6.nxt
1,::1,::1,58
2,::1,::1,58
...
Création d'un profil IPv6 personnalisé
Pour une analyse IPv6 fréquente, il est utile de créer un profil personnalisé :
- Cliquez sur le menu "Modifier"
- Sélectionnez "Profils de configuration"
- Cliquez sur le bouton "+" pour ajouter un nouveau profil
- Nommez-le "Analyse IPv6"
- Cliquez sur "OK"
Vous pouvez maintenant personnaliser ce profil avec vos filtres IPv6, vos mises en page de colonnes et vos couleurs préférés. Chaque fois que vous devez analyser le trafic IPv6, vous pouvez basculer vers ce profil.
Pour ajouter une colonne utile pour l'analyse IPv6 :
- Faites un clic droit sur n'importe quel en-tête de colonne
- Sélectionnez "Préférences de colonne"
- Cliquez sur "+" pour ajouter une nouvelle colonne
- Pour "Titre", entrez "En-tête suivant"
- Pour "Type", sélectionnez "Personnalisé"
- Pour "Champs", entrez "ipv6.nxt"
- Cliquez sur "OK"
Cela ajoute une colonne affichant la valeur de l'en-tête suivant IPv6, ce qui facilite l'identification du protocole encapsulé dans chaque paquet IPv6.
Avec ces techniques d'analyse avancées, vous disposez désormais d'une boîte à outils complète pour étudier les schémas de trafic IPv6, identifier les problèmes potentiels et obtenir des informations plus approfondies sur le comportement du réseau IPv6.
Résumé
Dans ce laboratoire, vous avez appris à capturer, filtrer et analyser efficacement le trafic IPv6 à l'aide de Wireshark, un puissant outil d'analyse réseau.
Vous avez commencé par installer et configurer Wireshark sur votre système Ubuntu, puis vous avez généré du trafic IPv6 pour l'analyse. Vous avez appris à capturer ce trafic et à l'enregistrer pour un examen détaillé.
Ensuite, vous avez maîtrisé les techniques de filtrage IPv6 de base, ce qui vous a permis de vous concentrer sur des aspects spécifiques des communications IPv6. Vous avez également exploré des méthodes d'analyse avancées, notamment :
- L'analyse du trafic ICMPv6 pour le protocole de découverte de voisins (Neighbor Discovery Protocol)
- L'examen des en-têtes d'extension IPv6
- L'utilisation des outils statistiques de Wireshark pour obtenir des informations sur les conversations et les points de terminaison (endpoints)
- La création de graphes de flux visuels pour comprendre les schémas de communication
- L'exportation de données pour une analyse plus approfondie
- La personnalisation de Wireshark avec des profils optimisés pour l'analyse IPv6
Ces compétences sont essentielles pour les professionnels de la sécurité réseau modernes, car l'adoption d'IPv6 continue de croître. La capacité de surveiller, d'analyser et de dépanner efficacement le trafic IPv6 permet d'identifier les menaces de sécurité potentielles, d'optimiser les performances du réseau et d'assurer le bon fonctionnement du réseau.
En appliquant ces techniques dans votre pratique de la sécurité, vous pouvez améliorer la visibilité du réseau de votre organisation et améliorer votre capacité à détecter et à répondre aux incidents de sécurité impliquant le trafic IPv6.


