Dans cette étape, nous allons explorer les en-têtes d'extension IPv6. IPv6 est le protocole Internet de la prochaine génération qui offre de nombreuses améliorations par rapport à IPv4. L'une de ces améliorations clés est l'utilisation d'en-têtes d'extension. Ces en-têtes sont cruciaux car ils offrent des fonctionnalités améliorées, telles que de meilleures fonctionnalités de routage et de sécurité. Comprendre ces en-têtes est essentiel pour toute personne impliquée dans la surveillance des réseaux IPv6 et l'analyse de sécurité, car ils peuvent révéler des informations importantes sur la manière dont les paquets sont gérés dans le réseau.
Comprendre les en-têtes d'extension IPv6
IPv6 a une structure d'en-tête unique et flexible. Il commence par un en-tête principal, qui contient des informations de base sur le paquet telles que les adresses source et de destination. Après l'en-tête principal, il peut y avoir des en-têtes d'extension optionnels. Cette conception est différente d'IPv4 et permet un traitement plus efficace des paquets. En IPv4, des fonctionnalités similaires étaient implémentées de manière moins flexible.
Il existe plusieurs types principaux d'en-têtes d'extension IPv6 :
-
Hop - by - Hop Options Header (En-tête d'options saut par saut) : Cet en-tête contient des informations que chaque nœud (comme les routeurs) le long du chemin de livraison du paquet doit examiner. Il est utilisé pour des instructions spéciales qui doivent être traitées à chaque étape du parcours du paquet.
-
Routing Header (En-tête de routage) : Il spécifie une liste de nœuds que le paquet doit traverser pour atteindre sa destination. Cela est utile pour les scénarios de routage personnalisé.
-
Fragment Header (En-tête de fragmentation) : Lorsqu'un paquet est trop volumineux pour s'insérer dans l'unité de transmission maximale (MTU - Maximum Transmission Unit) du chemin réseau, il doit être divisé en morceaux plus petits. L'en-tête de fragmentation est utilisé pour gérer ce processus de fragmentation.
-
Authentication Header (AH) (En-tête d'authentification) : En tant que partie de la suite de sécurité IPsec, l'AH assure l'intégrité et l'authentification des paquets IPv6. Il garantit que le paquet n'a pas été altéré durant son transit.
-
Encapsulating Security Payload (ESP) Header (En-tête de charge utile de sécurité encapsulée) : Également partie d'IPsec, l'en-tête ESP assure la confidentialité, l'intégrité et l'authentification. Il chiffre la charge utile du paquet, la protégeant contre les écoutes clandestines.
-
Destination Options Header (En-tête d'options de destination) : Cet en-tête contient des options qui ne sont examinées que par le nœud de destination. Il peut être utilisé pour des instructions spécifiques destinées uniquement au destinataire final.
Identifier les en-têtes d'extension dans Wireshark
Maintenant, utilisons Wireshark, un analyseur de protocoles réseau populaire, pour identifier et comprendre les en-têtes d'extension IPv6 dans les paquets capturés.
-
Tout d'abord, assurez-vous que Wireshark est ouvert. Si ce n'est pas le cas, vous pouvez l'ouvrir en utilisant la commande suivante dans le terminal :
wireshark &
Le &
à la fin permet à la commande de s'exécuter en arrière-plan, vous permettant de continuer à utiliser le terminal pour d'autres tâches.
-
Ensuite, ouvrez le fichier de capture que vous avez enregistré à l'étape précédente. Voici comment procéder :
- Cliquez sur
File
> Open
dans le menu de Wireshark.
- Accédez au répertoire
/home/labex/project/
.
- Sélectionnez le fichier nommé
capture.pcapng
et cliquez sur Open
. Ce fichier contient le trafic réseau que vous avez capturé précédemment.
-
Pour générer du trafic IPv6 qui pourrait inclure des en-têtes d'extension, exécutez la commande suivante dans un terminal :
ping6 -c 4 ipv6.google.com
Cette commande envoie 4 requêtes de ping à l'adresse IPv6 de Google. L'option -c
spécifie le nombre de requêtes. Notez que si cette commande ne fonctionne pas (par exemple, si la machine virtuelle n'a pas accès à Internet), vous pouvez toujours travailler avec les paquets que vous avez déjà capturés.
-
Si la capture de paquets est toujours en cours, arrêtez - la en cliquant sur le bouton carré rouge dans Wireshark. Cela garantit que vous travaillez avec un ensemble fixe de paquets.
-
Dans la barre de filtre en haut de Wireshark, entrez le filtre suivant :
ipv6.nxt != 58
Ce filtre affiche uniquement les paquets IPv6 où le champ "Next Header" (Prochain en-tête) n'est pas égal à 58. La valeur 58 correspond à ICMPv6. En utilisant ce filtre, nous augmentons les chances de trouver des paquets avec des en-têtes d'extension.
-
Sélectionnez n'importe quel paquet IPv6 dans la liste de paquets située à gauche de Wireshark. Dans le panneau du milieu, développez la section "Internet Protocol Version 6". Cela vous montrera les détails de l'en-tête IPv6.
-
Recherchez le champ "Next Header" dans l'en-tête IPv6 développé. Ce champ est très important car il nous indique ce qui suit immédiatement l'en-tête IPv6. Cela pourrait être un en-tête d'extension ou un protocole de couche supérieure comme TCP ou UDP.

-
La valeur du champ "Next Header" correspond à un numéro de protocole spécifique :
- 0 : Hop - by - Hop Options
- 43 : Routing
- 44 : Fragment
- 50 : ESP
- 51 : AH
- 60 : Destination Options
- 58 : ICMPv6
- 6 : TCP
- 17 : UDP
-
Si un en-tête d'extension est présent dans le paquet, il apparaîtra sous forme de section dépliable sous l'en-tête IPv6 dans le panneau des détails du paquet. Développez - le pour voir son contenu, qui peut fournir des informations précieuses sur la gestion du paquet.
Exporter les octets du paquet pour analyse
Pour analyser plus en détail le champ "Next Header", nous allons exporter les octets d'un paquet le contenant.
-
Sélectionnez n'importe quel paquet IPv6 dans la liste de paquets.
-
Dans le panneau du milieu, assurez-vous que la section "Internet Protocol Version 6" est développée. Si ce n'est pas le cas, développez - la pour voir les détails de l'en-tête IPv6.
-
Trouvez le champ "Next Header". Il se trouve généralement près du haut des détails de l'en-tête IPv6.
-
Cliquez avec le bouton droit sur le champ "Next Header" et sélectionnez "Export Selected Packet Bytes".

-
Dans la boîte de dialogue qui apparaît, accédez au répertoire /home/labex/project/
. C'est là que nous allons enregistrer les octets exportés.
-
Entrez extension_header.txt
comme nom de fichier.
-
Cliquez sur "Save" pour enregistrer le fichier.

-
Vous pouvez vérifier que le fichier a été créé avec succès en exécutant la commande suivante dans le terminal :
cat /home/labex/project/extension_header.txt
La sortie sera probablement un seul caractère représentant la valeur du champ "Next Header". Cela peut être utile pour une analyse plus approfondie ou pour des scripts.
Analyser la chaîne d'en-têtes d'extension
En IPv6, un paquet peut avoir plusieurs en-têtes d'extension, formant une chaîne. Chaque en-tête d'extension a un champ "Next Header" qui indique ce qui le suit.
Par exemple, un paquet IPv6 pourrait avoir la structure suivante :
- L'en-tête IPv6 principal avec une valeur de "Next Header" de 0, ce qui signifie que le prochain en-tête est un en-tête d'options saut par saut.
- L'en-tête d'options saut par saut avec une valeur de "Next Header" de 43, indiquant que le prochain en-tête est un en-tête de routage.
- L'en-tête de routage avec une valeur de "Next Header" de 6, ce qui signifie que le prochain en-tête est un en-tête TCP.
- Enfin, l'en-tête TCP et la charge utile.
Ce mécanisme de chaînage offre une grande flexibilité dans la gestion des paquets. Cependant, il peut également être utilisé de manière malveillante pour des attaques de sécurité, comme essayer de contourner les règles de pare-feu. C'est pourquoi il est crucial de comprendre les en-têtes d'extension pour la surveillance de la sécurité des réseaux.
Vous avez maintenant appris à identifier et examiner les en-têtes d'extension IPv6 dans Wireshark. Ceci est une compétence essentielle pour toute personne impliquée dans la surveillance des réseaux IPv6 et l'analyse de sécurité.