bitlvl
ES

Conversor de IP a binario

Escribe una dirección IPv4 con puntos y lee sus 32 bits, divididos en los cuatro octetos, que es la forma en que se piensa en máscaras de subred y prefijos CIDR. Escribe un valor binario (0b…) para hacer el camino inverso.

  

Los resultados y mensajes de esta herramienta se muestran en inglés.

Una dirección IPv4 es un número de 32 bits

La conocida notación con puntos no son más que cuatro bytes en decimal. 192.168.1.1 son los bytes C0 A8 01 01, que leídos como un único número big-endian de 32 bits dan 0xC0A80101 = 3.232.235.777. Cada octeto se multiplica por una potencia de 256: 192×256³ + 168×256² + 1×256 + 1.

  1. Toma cada octeto en orden: a, b, c, d.
  2. Calcula a×16.777.216 + b×65.536 + c×256 + d.
  3. Para volver, divide repetidamente entre 256 y guarda los restos (o desplaza 8 a la derecha y enmascara con 255).

Dónde se usa la forma entera

  • Bases de datos: INET_ATON() / INET_NTOA() de MySQL y el tipo inet de PostgreSQL guardan e indexan direcciones como números para que las consultas por rango (ip BETWEEN start AND end) sean rápidas. Las tablas GeoIP usan el mismo truco.
  • Programación: inet_aton en C, ip2long en PHP, int(ipaddress.ip_address(x)) en Python, binary.BigEndian.Uint32(ip.To4()) en Go.
  • Listas de acceso y cortafuegos que comparan el número con una máscara.

Formas raras que aceptan los navegadores

Como la dirección es un número, http://3232235777/ y http://0xC0A80101/ llegan ambos a 192.168.1.1 en la mayoría de los navegadores, y 192.168.257 se interpreta como 192.168.1.1 (la última parte se desborda al octeto anterior). Es una forma clásica de ocultar una dirección en un enlace de phishing, y una razón para validar la entrada con rigor, como hace esta herramienta.

Preguntas

¿Cuánto es 192.168.1.1 como entero?

3.232.235.777 en decimal, 0xC0A80101 en hexadecimal. Sale de 192×256³ + 168×256² + 1×256 + 1.

¿Por qué guardar direcciones IP como enteros?

Un entero ocupa 4 bytes en vez de hasta 15 caracteres, se ordena en orden de red y permite comprobar un rango con dos comparaciones. La mayoría de los datos GeoIP y de cortafuegos se guardan así.

¿Cuál es el mayor entero IPv4?

4.294.967.295 (2³² − 1), es decir, 255.255.255.255.

¿Funciona con IPv6?

Las direcciones IPv6 son números de 128 bits y necesitan otra herramienta: la calculadora IPv6, que muestra las formas expandida, comprimida y binaria.

¿192.168.001.001 es lo mismo que 192.168.1.1?

No de forma fiable. Algunos analizadores tratan un octeto con cero inicial como octal (001 vale, pero 010 sería 8). Escribe los octetos sin ceros iniciales para evitar la ambigüedad; esta herramienta los rechaza por ese motivo.