Expandeur d'adresse IPv6
Collez une adresse IPv6 abrégée et obtenez sa forme complète : 2001:db8::1 devient 2001:0db8:0000:0000:0000:0000:0000:0001, avec tous les groupes de zéros rétablis et chacun des huit groupes complété à quatre chiffres. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Adresse
- 2001:db8::1
- Développé
- 2001:0db8:0000:0000:0000:0000:0000:0001
- Nombre de groupes
- 8
Les adresses IPv6 compressées suppriment les suites d'hextets nuls avec un double deux-points et ôtent les zéros de tête dans chaque groupe : c'est compact pour les humains, mais gênant pour la comparaison exacte de chaînes, les jointures de tableurs, les diffs de règles de pare-feu et l'analyse de journaux. Cet expandeur d'adresse IPv6 accepte une adresse compressée, partiellement abrégée ou déjà complète, restaure chaque groupe de zéros omis et complète chacun des huit hextets à quatre chiffres hexadécimaux. Le résultat est une forme canonique stable que vous pouvez trier, hacher ou comparer octet par octet entre outils.
Ce que signifie la forme IPv6 à huit groupes et pourquoi l'expansion aide
Une adresse IPv6 compte cent vingt-huit bits écrits en huit groupes de seize bits séparés par des deux-points, chaque groupe affiché avec un à quatre chiffres hexadécimaux. La RFC 5952 autorise la compression : une seule suite de groupes consécutifs tous nuls peut être remplacée par un double deux-points, et les zéros de tête d'un groupe peuvent être omis. Cette souplesse produit de nombreuses graphies valides de la même adresse—2001:db8::1, 2001:0db8:0:0:0:0:0:1 et la forme entièrement complétée nomment la même interface.
Lorsque vous comparez des fichiers de configuration avec une égalité de chaînes ordinaire, ou que vous indexez une map, un cache ou une liste de contrôle d'accès par le texte d'adresse, ces graphies paraissent différentes alors qu'elles sont égales sur le fil. Étendre chaque adresse en huit hextets complétés de zéros lève cette ambiguïté.
L'expandeur parcourt l'entrée, trouve au plus une suite de double deux-points, compte les hextets écrits à gauche et à droite de cette suite, insère les groupes tous nuls manquants pour atteindre exactement huit, et complète à gauche chaque hextet avec des zéros jusqu'à quatre chiffres en minuscules. La chaîne étendue est donc unique pour une valeur d'adresse parmi les formes IPv6 pures sans ID de zone, ce qui aligne le tri lexicographique sur l'ordre numérique dans chaque hextet et facilite la réconciliation des inventaires dual-stack.
Où un expandeur d'adresse IPv6 apporte une vraie valeur
Les pipelines d'automatisation réseau et d'infrastructure as code normalisent chaque littéral IPv6 avant d'écrire des objets Terraform, Ansible ou de pare-feu, afin que les diffs de plan ne oscillent pas quand quelqu'un réabrége une adresse. Les pipelines de sécurité et SIEM étendent les champs source et destination de journaux multi-fournisseurs pour que les règles de corrélation s'appuient sur une seule chaîne canonique sans maintenir une bibliothèque de variantes compressées.
Les outils d'inventaire cloud et data center joignent les enregistrements de VM, d'équilibreurs de charge et de DNS qui arrivent avec des styles d'abréviation différents sous une seule clé d'hôte. Les laboratoires de cours et de certification utilisent un expandeur gratuit pour que les apprenants confrontent leurs devoirs à la forme complète que le manuel montre à côté de la forme compressée. Une validation en échec ne consomme pas le solde.
Gardez les requêtes sur une seule chaîne d'adresse, figez la valeur étendue dans les tests, et vous obtenez un texte IPv6 en forme complète reproductible pour le CI, les workers en périphérie et les runbooks d'exploitation sans monter vous-même une bibliothèque complète d'adresses IP.
Cas d’usage
Normaliser l'IaC et les configs de pare-feu
Étendez chaque littéral IPv6 dans les fichiers Terraform, Ansible ou ACL en huit groupes complétés de zéros pour que les diffs de chaînes et les fusions de politiques cessent d'échouer sur des abréviations inoffensives.
Clés de corrélation SIEM et de journaux
Canonicalisez les champs de journaux multi-fournisseurs en une seule forme étendue avant de dédupliquer les alertes ou de joindre des flux entre collecteurs.
Inventaire et cartes d'hôtes dual-stack
Joignez les enregistrements cloud, DNS et d'équilibreurs de charge qui stockent l'IPv6 sous des styles compressés différents avec une seule clé d'adresse d'hôte stable.
Questions fréquentes
L'expandeur accepte-t-il les adresses déjà complètes ?
Oui. Les adresses entièrement écrites sont revalidées et recomplétées en hextets de quatre chiffres en minuscules, de sorte que chaque chemin de succès renvoie la même forme.
Les identifiants de zone comme %eth0 sont-ils pris en charge ?
Non. Fournissez l'adresse IPv6 nue, sans suffixe de zone.
Qu'en est-il des adresses mappées IPv4 comme ::ffff:192.0.2.1 ?
Les queues IPv4 embarquées sont converties en deux hextets hexadécimaux, puis la forme étendue complète à huit groupes est renvoyée. Une IPv4 seule est rejetée.
Pourquoi développer les adresses IPv6 avant de les comparer ?
Parce qu'une même adresse s'écrit de plusieurs façons valides : 2001:db8::1 et 2001:0db8:0:0:0:0:0:1 désignent la même interface, mais une comparaison de texte les juge différentes. La forme complète est unique, donc listes, tableurs et journaux concordent exactement.
Pourquoi une adresse avec deux doubles deux-points est-elle refusée ?
Une seule suite de groupes nuls peut être abrégée. Avec deux doubles deux-points, impossible de savoir combien de groupes nuls chacun cache : l'adresse est ambiguë et refusée plutôt que devinée.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/dev/ipv6-expand \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"address":"2001:db8::1"}'const res = await fetch("https://api.kit.forhosting.com/dev/ipv6-expand", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"address": "2001:db8::1"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/ipv6-expand",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"address": "2001:db8::1"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/ipv6-expand", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"address":"2001:db8::1"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"address":"2001:db8::1"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/ipv6-expand", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"address": "2001:db8::1"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.ipv6_expand",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Les crochets optionnels autour de l'adresse sont retirés ; les identifiants de zone et les chaînes IPv4 seules sont rejetés avec un message invalid_input clair.
Contrat d'entrée, forme de la réponse et comportement d'erreur
La valeur peut être compressée avec un double deux-points, omettre des zéros de tête dans n'importe quel hextet, être déjà entièrement étendue, ou utiliser des crochets optionnels comme dans la forme d'hôte d'URL. Les queues IPv4 embarquées du type deux-points-ffff-deux-points puis un quadruplet pointé sont converties en deux hextets hexadécimaux avant le remplissage. Associez le champ expanded à vos propres contrôles d'égalité ou stockez-le comme colonne normalisée ; ce point de terminaison n'effectue ni DNS, ni géolocalisation, ni tests de connectivité. Envoyez en POST un corps JSON avec un unique champ chaîne obligatoire nommé address (les alias ip, ipv6 et text sont aussi acceptés). En cas de succès, la réponse renvoie l'adresse d'origine trimée, expanded comme la chaîne à huit groupes séparés par des deux-points, groups comme un tableau de huit chaînes de quatre chiffres en minuscules, was_compressed comme booléen vrai lorsque l'entrée utilisait un double deux-points ou un hextet court, et group_count fixé à huit. Adresse manquante ou vide, types non chaîne, plus d'un double deux-points, hextets vides sans compression, caractères non hexadécimaux, identifiants de zone après un signe pour cent, IPv4 seule et mauvais nombres de groupes échouent avec invalid_input et ne sont pas facturés. Exemple : address 2001:db8::1 s'étend en 2001:0db8:0000:0000:0000:0000:0000:0001 avec was_compressed true. Exemple : address ::1 devient 0000:0000:0000:0000:0000:0000:0000:0001.
Où un expandeur d'adresse IPv6 apporte une vraie valeur
Comme l'implémentation est du parse pur de niveau A, chaque appel réussi coûte le prix de base publié $0.002, sans jetons de modèle ni réseau sortant.
Questions techniques
Comment étendre une adresse IPv6 compressée en forme complète ?
Envoyez la chaîne d'adresse (par exemple 2001:db8::1). L'API restaure les groupes de zéros omis et les zéros de tête, et renvoie huit hextets de quatre chiffres tels que 2001:0db8:0000:0000:0000:0000:0000:0001.
Combien coûte l'expandeur d'adresse IPv6 ?
L'outil navigateur est gratuit. Les requêtes API utilisent le solde prépayé KIT à $0.002 par appel réussi ; une entrée invalide n'est pas facturée.