Un peu plus tôt dans la journée, je pensais avoir une URL dans le presse-papiers, mais quatre de 9 chiffres de 9 chiffres entiers ont été copiés sur une feuille de calcul, c’est-à-dire des numéros d’identification provenant d’un système propriétaire. Complètement sans rapport avec la tâche à accomplir. Je l'ai collé dans Firefox et j'ai été surpris de constater qu'il chargeait réellement une page. J'ai déjà vu des notations décimales sans points d' adresses IPv4 , mais ce nombre long est quelque chose de beaucoup, beaucoup plus grand.
714687644714805209715128610715964400 (collez un HTTP: // devant)
Comment cela marche-t-il? Tous les décimaux -> convertisseurs IPv4 que j'ai trouvés sur Internet considèrent tous cette entrée comme invalide. Si je prends l'adresse IPv4 qu'il charge réellement et que je fais les mêmes calculs pour la convertir en décimale sans points, j'obtiens un nombre considérablement plus petit.
J'ai lu que ping accepte les dwords et effectue certaines conversions, mais il ne peut pas convertir ce nombre en adresse IP. IPv6 est hors de question car cet hôte n'a pas de connectivité IPv6.
Quel genre de folie est-ce? Cela me stresse moi-même et mes collègues.
Edit: Il est de retour en ligne maintenant.
Réponses:
C'est une question assez intéressante et il m'a fallu un peu de temps pour le comprendre. La réponse courte est que les 32 derniers bits du nombre sont 3660944368 (en décimal, ce qui peut être trouvé par
714687644714805209715128610715964400 mod 2^32
)Il s'agit de la valeur décimale de l'adresse IPv4 218.53.147.240 , qui peut être trouvée en la convertissant en base 256 de
3660944368 = 218*(256^3)+53*(256^2)+147*(256)+240
manière analogue à l'écriture d'un nombre en décimal (base 10). Par exemple234 = 2*10^2+ 3*10 + 4
.Comme @chritohnide le souligne, chaque section d'adresses IPv4 en pointillés s'appelle un octet car elle représente 8 chiffres binaires. Il convient également de noter que les différents formats d'adresses IPv4 (tels que la décimale en pointillés ou la décimale pure) ne sont que des façons différentes de représenter le nombre binaire 32 bits pour en tirer un avantage.
Les adresses IPv4 étant des nombres de 32 bits, seuls les derniers 32 bits du numéro sont utilisés pour résoudre l'adresse. Pourquoi c'est vrai n'est pas aussi évident. Comme d'autres l'ont fait remarquer, le nombre entier est étonnamment similaire à une adresse IPv6 en décimal, mais ce n'est pas une adresse valide.
En regardant la spécification Teredo (voir 4. Adresses Teredo ), le client IPv4 occupe les 32 derniers bits de l'adresse IPv6, mais le préfixe du nombre ne correspond pas à la spécification Teredo (voir également wikipedia ).
la source
0089:a4d2:471b:45ef:77ed:c70f:da35:93f0