Détecteur de famille d’adresse
Détecter si une adresse est IPv4, IPv6 ou invalide
Input IP Addresses
Detection Results
Detection results will appear here
Le detecteur de famille d'adresses identifie instantanement si une chaine d'adresse IP est de type IPv4, IPv6 ou invalide. Saisissez n'importe quelle adresse comme 192.168.1.1, 2001:db8::1 ou ::ffff:10.0.0.1 pour voir sa famille detectee, son statut de validation et les eventuels problemes de format. L'outil fournit la classification prealable indispensable avant tout traitement d'adresses dans des scripts, des applications, des regles de pare-feu ou des fichiers de configuration.
Comprendre les familles d'adresses IP
Chaque adresse IP appartient a l'une des deux familles de protocole : IPv4 ou IPv6. Elles ont des apparences completement differentes, sont analysees par des chemins de code differents et sont gerees par des piles protocolaires differentes dans le systeme d'exploitation. Avant de pouvoir faire quoi que ce soit d'utile avec une adresse -- la valider, rechercher sa geolocalisation, verifier si elle est privee ou l'ajouter a une regle de pare-feu -- vous devez savoir a quelle famille elle appartient. Cela semble evident quand vous comparez 192.168.1.1 et 2001:db8::1, mais les cas particuliers rendent la detection automatisee plus delicate qu'on ne pourrait le penser.
Les complications proviennent de formats qui brouillent la frontiere entre les familles. Une adresse IPv4-mapped IPv6 comme ::ffff:192.168.1.1 contient ce qui ressemble a une adresse IPv4, mais c'est techniquement une adresse IPv6 de 128 bits. Une adresse IPv4-compatible comme ::192.168.1.1 est egalement IPv6, malgre la notation decimale pointee a la fin. Les identifiants de zone comme fe80::1%eth0 ajoutent un suffixe non numerique qui fait echouer certains analyseurs. La notation CIDR comme 192.168.1.0/24 inclut une longueur de prefixe qui ne fait pas partie de l'adresse elle-meme. Et des entrees comme 192.168.1.256 ressemblent a de l'IPv4 mais echouent a la validation car l'octet depasse 255.
Ce detecteur gere tous ces cas. Il examine la structure et les caracteres de l'entree, la classifie dans la bonne famille, puis valide l'adresse selon les regles de cette famille. Pour les entrees invalides, il indique non seulement que l'adresse est invalide mais pourquoi -- octets manquants, valeurs hors plage, caracteres non hexadecimaux, double compression :: ou autres problemes specifiques. Cela en fait un outil de debogage utile lorsque vous cherchez a comprendre pourquoi une adresse qui "semble correcte" est rejetee par un autre systeme.
Comment detecter si une adresse est IPv4 ou IPv6
- Saisissez n'importe quelle chaine d'adresse IP (par ex.
192.168.1.1,2001:db8::1ou::ffff:10.0.0.1) - L'outil analyse le format et la classifie comme IPv4, IPv6 ou invalide
- Consultez la famille d'adresses detectee ainsi que les details de validation
- En cas d'entree invalide, le motif precis de l'echec est indique (octet hors plage, notation malformee, etc.)
Exemples de detection de famille d'adresses
| Entree | Famille detectee | Valide | Remarques |
|---|---|---|---|
192.168.1.1 | IPv4 | Oui | Notation decimale pointee standard |
2001:db8::1 | IPv6 | Oui | Notation compressee |
::ffff:192.168.1.1 | IPv6 | Oui | IPv4-mapped IPv6 |
fe80::1%eth0 | IPv6 | Oui | Link-local avec zone ID |
10.0.0.1 | IPv4 | Oui | Adresse privee |
::1 | IPv6 | Oui | Loopback |
192.168.1.256 | IPv4 | Non | Octet superieur a 255 |
2001:db8::xyz | IPv6 | Non | Caractere non hexadecimal |
hello | Aucune | Non | Ce n'est pas une adresse IP |
192.168.1 | Aucune | Non | Octet manquant |
1.2.3.4.5 | Aucune | Non | Trop d'octets |
2001:db8::1::2 | IPv6 | Non | Double :: |
Pourquoi utiliser le detecteur de famille d'adresses
- Validation des entrees -- determiner la famille d'adresses avant de diriger les donnees vers une logique de traitement specifique IPv4 ou IPv6 dans vos scripts et applications
- Traitement de donnees en formats mixtes -- traiter des listes d'adresses contenant un melange d'entrees IPv4 et IPv6 en classifiant chaque entree au prealable
- Debogage de configuration -- verifier qu'une chaine ressemblant a une adresse IP est reellement valide avant de l'ajouter a des regles de pare-feu ou des enregistrements DNS
- Analyse de logs -- classer les adresses extraites de fichiers de logs multi-formats pour appliquer le bon pipeline d'analyse
- Assainissement des entrees API -- rejeter les chaines d'adresses malformees des le point d'entree avant qu'elles ne provoquent des erreurs en aval
- Planification de migration -- auditer les listes d'adresses pour comprendre la repartition IPv4/IPv6 avant de planifier des deploiements dual-stack ou IPv6-only
Fonctionnement de la detection de famille d'adresses IP
La detection de famille d'adresses examine la structure et les caracteres de la chaine en entree pour determiner la version IP qu'elle represente, puis valide le format selon les regles de cette version.
Regles de detection IPv4
Une entree est classee comme IPv4 si elle respecte ces criteres :
- Contient exactement trois points separant quatre groupes numeriques
- Chaque groupe (octet) est un nombre decimal entre
0et255 - Pas de zeros initiaux dans les octets (mode strict) --
010.0.0.1peut etre rejete car010pourrait etre interprete comme la valeur octale 8 - Aucun caractere autre que des chiffres et des points
Valide : 192.168.1.1 10.0.0.255 0.0.0.0
Invalide : 192.168.1.256 (octet > 255)
Invalide : 192.168.1 (seulement 3 octets)
Invalide : 192.168.1.1.5 (5 octets)
Regles de detection IPv6
Une entree est classee comme IPv6 si elle respecte ces criteres :
- Contient des deux-points separant des groupes hexadecimaux (hextets)
- Jusqu'a huit groupes de 1 a 4 chiffres hexadecimaux chacun
- Peut utiliser
::pour compresser des groupes consecutifs de zeros (une seule fois) - Peut inclure un suffixe de zone ID (
%eth0) pour les adresses link-local - Peut utiliser la notation mixte pour les adresses IPv4-mapped (
::ffff:192.168.1.1)
Valide : 2001:db8::1
Valide : ::ffff:10.0.0.1
Valide : fe80::1%eth0
Invalide : 2001:db8::1::2 (double :: interdit)
Invalide : 2001:db8::gggg (caractere non hexadecimal)
Cas particuliers
Plusieurs formats d'adresses necessitent un traitement special :
- IPv4-mapped IPv6 (
::ffff:192.168.1.1) -- detecte comme IPv6, pas IPv4, car il utilise la notation IPv6 meme s'il contient une adresse IPv4 - IPv4-compatible IPv6 (
::192.168.1.1) -- detecte comme IPv6 ; ce format est deprecie selon la RFC 4291 - Zone ID (
fe80::1%eth0) -- le suffixe%fait partie de la specification IPv6 pour les adresses a portee limitee et ne doit pas provoquer de rejet - Notation CIDR (
192.168.1.0/24) -- la partie/prefixene fait pas partie de l'adresse elle-meme ; certaines implementations la suppriment avant la detection
Conseils pratiques pour la gestion des familles d'adresses
Lors de la construction d'applications ou de scripts qui traitent des adresses IP, l'approche la plus robuste est de detecter la famille d'adresses au point le plus precoce possible de votre pipeline, puis de bifurquer vers une logique specifique a chaque famille. Essayer d'ecrire une seule expression reguliere ou un seul analyseur qui gere correctement IPv4 et IPv6 est une source courante de bugs subtils. IPv6 a lui seul possede plusieurs representations valides pour la meme adresse (expansee, compressee, notation mixte), et IPv4 a des cas particuliers avec les zeros initiaux et l'interpretation octale. Utilisez la bibliotheque standard de votre langage -- le module ipaddress de Python, le package net de Go, la classe InetAddress de Java -- plutot que de creer votre propre analyseur.
Un bug particulierement insidieux survient lorsque les applications traitent les adresses IPv4-mapped IPv6 comme du pur IPv6. Si une verification de securite compare contre une liste de blocage IPv4 mais que l'adresse est presentee sous forme mappee (::ffff:10.0.0.5), la comparaison echoue et la liste de blocage est contournee. Votre logique de detection devrait reconnaitre les adresses mappees et extraire la partie IPv4 pour toute verification specifique a IPv4. Ce n'est pas une preoccupation theorique -- c'est la cause profonde de vulnerabilites de securite reelles.
Les zeros initiaux dans les adresses IPv4 meritent une attention particuliere. La chaine 010.0.0.1 ressemble a 10.0.0.1 pour un humain, mais certains langages de programmation et systemes interpretent 010 comme la valeur octale 8, resolvant l'adresse en 8.0.0.1 a la place. Cette divergence a ete exploitee dans des attaques SSRF (Server-Side Request Forgery) ou une liste de blocage verifie l'interpretation decimale mais le client HTTP utilise l'interpretation octale. Une validation stricte qui rejette les zeros initiaux elimine toute cette classe de vulnerabilite.
Questions frequentes
Pourquoi ::ffff:192.168.1.1 est-il detecte comme IPv6 et non IPv4 ?
Parce que ::ffff:192.168.1.1 utilise la notation IPv6 (deux-points) et constitue une adresse IPv6 valide de 128 bits. Le fait qu'elle contienne une adresse IPv4 integree ne change pas sa famille d'adresses. C'est une adresse IPv4-mapped IPv6, un type specifique au sein de la famille IPv6. Utilisez le convertisseur IPv4-Mapped IPv6 pour extraire la partie IPv4.
Comment le detecteur gere-t-il les zeros initiaux dans les octets IPv4 ?
En mode de validation strict, les zeros initiaux comme 010.0.0.1 peuvent etre rejetes car certains systemes interpretent 010 comme une valeur octale (decimal 8) plutot que decimal 10. Cette ambiguite peut entrainer des vulnerabilites de securite ou une adresse se resout vers une destination imprevue. Le detecteur signale cela comme potentiellement invalide pour prevenir de tels problemes.
Le detecteur peut-il identifier le type specifique au sein d'une famille (prive, public, multicast) ?
Le detecteur de famille d'adresses se concentre sur la classification par famille (IPv4 vs IPv6 vs invalide). Pour une classification de type plus detaillee, utilisez le detecteur IPv4 privee/publique ou le detecteur IPv6 Unique Local/Link-Local apres avoir determine la famille.
Comment gerer les adresses avec notation CIDR comme 192.168.1.0/24 ?
La longueur de prefixe /24 ne fait pas partie de l'adresse IP elle-meme -- elle decrit la taille du sous-reseau. La plupart des bibliotheques d'analyse d'adresses suppriment le suffixe CIDR avant la validation. Si votre entree peut contenir une notation CIDR, commencez par separer sur le caractere /, validez la partie adresse et gerez la longueur de prefixe separement.
Quelle est la cause la plus courante de detection d'adresse invalide ?
Pour IPv4, le probleme le plus courant est une valeur d'octet depassant 255 (par ex. 192.168.1.300) ou un nombre incorrect d'octets. Pour IPv6, le probleme le plus courant est l'utilisation de :: plus d'une fois (par ex. 2001:db8::1::2) ou l'inclusion de caracteres non hexadecimaux. Les deux types peuvent egalement etre invalides en raison d'un formatage incorrect comme des points ou des deux-points en fin de chaine.
Outils associes
- Validateur IPv4 - Valider les adresses IPv4 au format strict en notation decimale pointee
- Validateur IPv6 - Valider les adresses IPv6 en formats complet et compresse
- Detecteur IPv4 privee/publique - Detecter si une adresse IPv4 est privee, publique ou speciale
- Detecteur IPv6 Unique Local/Link-Local - Detecter la portee et le type d'une adresse IPv6
- Normalisation de listes mixtes - Trier et nettoyer les listes mixtes d'adresses IPv4/IPv6
- Extracteur d'IP depuis du texte - Extraire les adresses IP depuis des journaux ou du texte