Monday, September 04, 2006

1113982819, 3631052141 y 301859767

http://www.abadiadigital.com/noticia1857.html

Os propongo un pequeño juego: copiad el número 1113982819 en la barra de direcciones del navegador y presionad 'Enter'. Si todo ha ido como debiera, ahora mismo estaréis en la página principal de Google

Sigamos adelante. Introducid ahora 3631052141 ó 301859767. En el primer caso accederéis al portal de Yahoo y en el segundo a la web de Apple

Bien, llegados a este punto, es muy probable que os estéis haciendo la gran pregunta: ¿POR QUÉ? Tranquil@s, que ahora os lo explico.

Empecemos por el principio. Para surfear en Internet basta con introducir el nombre de dominio de la web que queramos visitar -por ejemplo, google.com- o bien su dirección IP -66.102.7.99-, y el navegador nos la mostrará inmediatamente.

Lo que probablemente no sepáis la mayoría es que las direcciones IP se pueden representar de 2 maneras:
- En grupos de 4 números decimales separados por puntos, como acabo de hacer
- Con un double word decimal, que es un número entero de 32 bits sin signo

Para acceder a una web haciendo uso de un double word decimal, debemos partir de la dirección IP clásica y pasarla a hexadecimal. Cojamos por ejemplo la de Google -66.102.7.99- y saquemos partido a la calculadora de Windows (o del sistema operativo que utilicéis) en modo científico. Para ello vamos a coger los 4 grupos de números y los vamos a convertir por separado. El proceso es muy sencillo:

66d -> 0x42h
102d -> 0x66h
7d -> 0x07h
99d -> 0x63h

Ahora debemos agrupar los valores obtenidos, de tal manera que nos queda 0x42660763. Como he explicado antes, los double word están en base 10, así que el último paso que nos queda para conseguir el valor que andamos buscando es pasarlo a decimal. Dicho y hecho. Teclead este número en la calculadora y al convertirlo nos queda 1113982819, que es precisamente la cifra que queríamos encontrar.