Validateur IPv6
Valider les adresses IPv6 (formats complet et compressé)
Input IPv6 Addresses
Validation Results
Validation results will appear here
Le validateur IPv6 effectue une validation complète des adresses IPv6 dans toutes les représentations valides : notation hexadécimale complète à 8 groupes, notation abrégée ::, format mixte compatible IPv4 et adresses avec identifiants de zone. Saisissez une adresse comme 2001:db8::1 ou 2001:db8::1::2 et obtenez un résultat immédiat valide/invalide avec la forme canonique, les détails de l'erreur et la classification du type d'adresse (unicast global, link-local, ULA, multicast ou loopback).
Comprendre la syntaxe des adresses IPv6
Les adresses IPv6 font 128 bits de long, écrites sous forme de huit groupes de quatre chiffres hexadécimaux séparés par des deux-points -- quelque chose comme 2001:0db8:0000:0000:0000:0000:0000:0001. C'est suffisamment verbeux pour qu'une notation abrégée ait été développée : vous pouvez supprimer les zéros non significatifs dans chaque groupe et remplacer la plus longue séquence consécutive de groupes entièrement à zéro par ::. Ainsi, cette même adresse devient 2001:db8::1, ce qui est bien plus facile à lire et à saisir. L'inconvénient de cette flexibilité est que la même adresse peut s'écrire de nombreuses façons différentes, et toutes ne sont pas valides.
Les règles définissant ce qui constitue une adresse IPv6 valide sont principalement établies dans la RFC 4291, avec des directives de formatage canonique dans la RFC 5952. L'erreur la plus courante est d'utiliser :: deux fois dans la même adresse. Puisque :: peut représenter n'importe quel nombre de groupes de zéros consécutifs, autoriser deux séquences :: rendrait impossible la détermination du nombre de groupes que chacune remplace. L'adresse 2001::1::2 est ambiguë -- le premier :: représente-t-il deux groupes de zéros et le second trois, ou l'inverse ? La RFC résout cela en n'autorisant qu'un seul :: par adresse.
Parmi les autres erreurs courantes, on trouve les groupes hexadécimaux dépassant quatre chiffres (comme ::12345), les caractères non hexadécimaux (comme gggg) et les nombres incorrects de groupes. Sans compression ::, l'adresse doit contenir exactement huit groupes séparés par des deux-points. Avec ::, le nombre total de groupes écrits explicitement plus les groupes compressés doit être égal à huit. Ce validateur vérifie toutes ces règles et rapporte l'erreur spécifique pour toute adresse qui échoue, facilitant l'identification et la correction du problème.
Comment valider une adresse IPv6
- Saisissez une ou plusieurs adresses IPv6 dans n'importe quel format de notation valide
- Cliquez sur Validate pour vérifier chaque adresse selon les règles de formatage RFC 4291 et RFC 5952
- Consultez les résultats indiquant le statut valide/invalide, la forme canonique et l'erreur spécifique pour les adresses rejetées
- Pour les adresses valides, consultez le type d'adresse (unicast global, link-local, multicast, loopback, etc.)
Exemples de validation IPv6
| Entrée | Valide | Format | Remarques |
|---|---|---|---|
2001:0db8:0000:0000:0000:0000:0000:0001 | Oui | Complète | Les 8 groupes avec les zéros initiaux |
2001:db8::1 | Oui | Compressée | Groupes de zéros consécutifs condensés |
::1 | Oui | Compressée | Adresse de loopback |
:: | Oui | Compressée | Adresse non spécifiée (tous les bits à zéro) |
::ffff:192.168.1.1 | Oui | Mixte | Adresse IPv6 mappée IPv4 |
fe80::1%eth0 | Oui | Avec identifiant de zone | Link-local avec portée d'interface |
2001:db8::1::2 | Non | -- | Plusieurs séquences :: non autorisées |
2001:db8:gggg::1 | Non | -- | gggg n'est pas de l'hexadécimal valide |
2001:db8:1:2:3:4:5:6:7 | Non | -- | 9 groupes (maximum 8) |
2001:db8::12345 | Non | -- | Le groupe dépasse 4 chiffres hex (max ffff) |
2001:db8 | Non | -- | Seulement 2 groupes sans compression :: |
Classification des types d'adresses IPv6
| Adresse / Préfixe | Type | RFC | Utilisation |
|---|---|---|---|
::1/128 | Loopback | RFC 4291 | Test sur la machine locale |
::/128 | Non spécifiée | RFC 4291 | Adresse source avant attribution |
2000::/3 | Unicast global | RFC 4291 | Adresses routables sur Internet |
fe80::/10 | Link-local | RFC 4291 | Communication sur un lien unique, auto-configurée |
fc00::/7 | Locale unique (ULA) | RFC 4193 | Réseaux privés (similaire au RFC 1918) |
ff00::/8 | Multicast | RFC 4291 | Communication un-vers-plusieurs |
::ffff:0:0/96 | Mappée IPv4 | RFC 4291 | Adresses IPv4 encapsulées dans IPv6 |
64:ff9b::/96 | NAT64 Well-Known | RFC 6052 | Traduction IPv4/IPv6 |
Quand utiliser le validateur IPv6
- Configuration dual-stack -- validez les adresses IPv6 avant d'ajouter des enregistrements AAAA, des règles de pare-feu ou des configurations de routeur en parallèle de votre configuration IPv4 existante
- Développement applicatif -- vérifiez que les saisies IPv6 des utilisateurs dans les formulaires web et les API sont syntaxiquement correctes avant traitement ou stockage
- Audit de fichiers de configuration -- recherchez les adresses IPv6 mal formées dans les fichiers de configuration qui pourraient empêcher les services de se lier ou de se connecter
- Analyse de logs et import de données -- filtrez les adresses IPv6 valides parmi des sources de données mixtes pouvant contenir des chaînes d'adresses tronquées ou corrompues
- Planification de la transition IPv6 -- validez les adresses dans les plans de migration pour vous assurer qu'elles sont conformes à la notation correcte avant le déploiement
- Revue de politique de sécurité -- vérifiez que les adresses IPv6 dans les ACL et les règles de groupes de sécurité sont syntaxiquement valides et du type attendu
Fonctionnement de la validation d'adresses IPv6
Règles de compression (RFC 5952)
Les adresses IPv6 peuvent s'écrire de plusieurs manières équivalentes. Le validateur accepte toutes les formes valides et identifie la représentation canonique :
- Suppression des zéros initiaux :
2001:0db8peut s'écrire2001:db8 - Compression des groupes de zéros consécutifs :
2001:db8:0:0:0:0:0:1peut s'écrire2001:db8::1 - Un seul
::autorisé : une seule séquence::est permise par adresse, car plusieurs rendraient le développement ambigu - Séquence la plus longue à gauche : lorsque plusieurs séquences de zéros de même longueur existent, le RFC 5952 recommande de compresser celle la plus à gauche
Gestion des identifiants de zone
Les adresses link-local (fe80::/10) nécessitent un identifiant de zone pour spécifier l'interface réseau concernée, car la même adresse link-local peut exister sur plusieurs interfaces simultanément. L'identifiant de zone suit un séparateur % :
fe80::1%eth0 (Linux interface name)
fe80::1%15 (Windows interface index)
fe80::1%en0 (macOS interface name)
Le validateur accepte les identifiants de zone et les valide séparément de la partie adresse. Les identifiants de zone ne sont significatifs que pour les adresses link-local et multicast à portée limitée.
Conseils pratiques pour la validation IPv6
La validation IPv6 dans les applications nécessite plus de réflexion que pour IPv4 en raison des nombreuses représentations valides. Deux adresses qui semblent complètement différentes peuvent être identiques : 2001:0db8:0000:0000:0000:0000:0000:0001 et 2001:db8::1 sont la même adresse. Si votre application stocke des adresses IPv6 et doit détecter les doublons ou effectuer des recherches, normalisez toujours vers une forme canonique avant la comparaison. La meilleure pratique est de développer en forme complète pour le stockage et la comparaison, puis de compresser pour l'affichage.
Lors de la validation de saisies utilisateur dans des formulaires web, n'oubliez pas que les navigateurs et les systèmes d'exploitation incluent parfois automatiquement des identifiants de zone dans les adresses link-local. Un utilisateur peut coller fe80::1%eth0 depuis la sortie de son terminal. Votre validateur doit gérer l'identifiant de zone correctement -- soit l'accepter et le supprimer, soit l'accepter et le stocker, selon votre cas d'usage. Rejeter les identifiants de zone systématiquement frustrera les utilisateurs qui copient des adresses depuis des sorties système légitimes.
Sachez que les adresses IPv4-mapped comme ::ffff:192.168.1.1 sont du IPv6 valide mais ont des implications de sécurité. Les applications qui acceptent des entrées IPv6 puis extraient l'adresse IPv4 intégrée devraient valider les deux parties. Un attaquant pourrait fabriquer une adresse IPv4-mapped malveillante pour contourner les vérifications de validation IPv4 dans les applications dual-stack. Si votre application n'a pas besoin de gérer les adresses IPv4-mapped, envisagez de les rejeter explicitement.
Questions fréquentes
Pourquoi mon adresse IPv6 avec deux :: échoue-t-elle à la validation ?
La notation abrégée :: remplace un ou plusieurs groupes consécutifs de zéros. Si deux séquences :: étaient autorisées, l'analyseur ne pourrait pas déterminer combien de groupes de zéros chacune représente. Par exemple, 2001::1::2 pourrait se développer en plusieurs adresses valides différentes. Le RFC impose exactement un seul :: par adresse.
::ffff:192.168.1.1 est-elle une adresse IPv6 valide ?
Oui. Il s'agit d'une adresse IPv6 mappée IPv4 définie dans le RFC 4291. Le préfixe ::ffff: suivi d'une adresse IPv4 en notation décimale pointée est utilisé par les applications dual-stack pour représenter les connexions IPv4 au sein des structures de données IPv6. Le validateur reconnaît cette notation mixte et valide à la fois le préfixe IPv6 et la partie IPv4 intégrée.
Quelle est la différence entre :: et ::1 ?
:: est l'adresse non spécifiée (tous les 128 bits sont à zéro), équivalente au 0.0.0.0 d'IPv4. Elle est utilisée comme adresse source avant qu'un équipement ne se soit vu attribuer une adresse. ::1 est l'adresse de loopback (127 zéros suivis d'un seul bit à 1), équivalente au 127.0.0.1 d'IPv4. Elle est utilisée pour la communication sur la machine locale.
Les chiffres hexadécimaux en majuscules sont-ils valides dans les adresses IPv6 ?
Oui, 2001:DB8::1 et 2001:db8::1 sont tous deux syntaxiquement valides et représentent la même adresse. Cependant, la RFC 5952 recommande les minuscules pour la représentation canonique. Ce validateur accepte les deux casses mais peut indiquer la forme canonique en minuscules.
Comment valider une adresse IPv6 avec une longueur de préfixe comme 2001:db8::/32 ?
Cet outil valide les adresses IPv6 nues sans notation de préfixe. Pour valider une adresse avec une longueur de préfixe, utilisez le calculateur de sous-réseau IPv6 qui accepte la notation de préfixe et valide à la fois l'adresse et la longueur du préfixe.
Outils associés
- IPv4 Validator - Valider les adresses IPv4 en format décimal pointé strict
- IPv6 Expand ↔ Compress - Convertir entre notation IPv6 étendue et compressée
- IPv6 ↔ BigInt Converter - Convertir des adresses IPv6 depuis/vers des entiers 128 bits
- IPv6 Unique Local/Link-Local Detector - Détecter la portée et le type d'une adresse IPv6
- Address Family Detector - Détecter si une adresse est IPv4, IPv6 ou invalide