Hoy temprano pensé que tenía una URL en mi portapapeles, pero en realidad tenía cuatro enteros de 9 dígitos copiados de una hoja de cálculo, que eran números de identificación de un sistema propietario. Completamente no relacionado con la tarea en cuestión. Lo pegué en Firefox y me sorprendió descubrir que realmente cargaba una página. He visto anotaciones decimales sin punto de direcciones IPv4 antes, pero este número largo es algo mucho, mucho más grande.
714687644714805209715128610715964400 (pegar un HTTP: // en frente)
¿Como funciona esto? Todos los convertidores decimales -> IPv4 que he encontrado en Internet lo consideran una entrada no válida. Si tomo la dirección IPv4 que realmente carga y realizo los mismos cálculos para convertirla a decimal sin punto, obtengo un número mucho menor.
He leído que ping puede aceptar dwords y hacer algunas conversiones, pero no puede convertir este número a una dirección IP. IPv6 está fuera de discusión ya que este host no tiene conectividad IPv6.
¿Qué clase de locura es esta? Me sorprendí a mí y a mis compañeros de trabajo.
Editar: está de vuelta en línea ahora.
Respuestas:
Esta es una pregunta bastante interesante, y me tomó un tiempo descubrirlo. La respuesta corta es que los últimos 32 bits del número son 3660944368 (en decimal, que se puede encontrar por
714687644714805209715128610715964400 mod 2^32
)Este es el valor decimal de la dirección IPv4 218.53.147.240 , que se puede encontrar convirtiéndolo en base-256
3660944368 = 218*(256^3)+53*(256^2)+147*(256)+240
análogamente a escribir un número en decimal (base-10). Por ejemplo234 = 2*10^2+ 3*10 + 4
.Como señala @chritohnide, cada sección de direcciones IPv4 punteadas se denomina octeto, ya que representa 8 dígitos binarios. También vale la pena señalar que los diversos formatos de direcciones IPv4 (como el decimal punteado o el decimal puro) son solo diferentes formas de representar el número binario de 32 bits para obtener un beneficio adicional.
Como las direcciones IPv4 son números de 32 bits, solo se usan los últimos 32 bits del número para resolver la dirección. Por qué esto es cierto no es tan obvio. Como otros han señalado, el número completo se ve sorprendentemente similar a una dirección IPv6 en decimal, pero no es una dirección válida.
Mirando la especificación de Teredo (ver 4. Direcciones de Teredo ), el Cliente IPv4 ocupa los últimos 32 bits de la dirección IPv6, pero el prefijo del número no coincide con la especificación de Teredo (También vea wikipedia ).
fuente
0089:a4d2:471b:45ef:77ed:c70f:da35:93f0