taap.digitalherramientas de ingeniería de redes

Convertidor de IPv4 a binario, hex y entero

Pegue una IPv4 en cualquier formato (192.168.1.1, 0xC0A80101, 3232235777 o binario) y vea todas las representaciones.

ipconv

Una dirección, cuatro representaciones

Internamente, una IPv4 es un entero sin signo de 32 bits. La notación decimal punteada es solo una forma legible: divide los 32 bits en cuatro octetos y escribe cada uno en decimal (0 a 255). Las demás representaciones aparecen en distintos contextos:

  • Binario: subnetting, cálculo de máscaras y sumarización.
  • Hexadecimal: capturas de paquetes (Wireshark, tcpdump -X), volcados de memoria, máscaras en algunos sistemas (ifconfig en BSD muestra 0xffffff00).
  • Entero: bases de datos (columnas INT UNSIGNED con INET_ATON() en MySQL), bases de geolocalización y comparaciones de rangos.

Conversión decimal ↔ binario

Cada octeto se descompone en potencias de 2, del bit de mayor peso al de menor:

128 · 64 · 32 · 16 · 8 · 4 · 2 · 1

Ejemplo: 192 = 128 + 64 → 11000000; 168 = 128 + 32 + 8 → 10101000; 1 → 00000001.

Ejemplo completo: 192.168.1.1

OctetoDecimalBinarioHex
119211000000C0
216810101000A8
310000000101
410000000101

Hexadecimal: 0xC0A80101. Entero: 192 × 256³ + 168 × 256² + 1 × 256 + 1 = 3,232,235,777.

entero = o1 × 16,777,216 + o2 × 65,536 + o3 × 256 + o4

Para volver del entero a la IP, divida sucesivamente por 256 y tome los restos, o use desplazamientos de bits: (n >> 24) & 255, (n >> 16) & 255, etc.

En la línea de comandos

# Python
python3 -c "import ipaddress; print(int(ipaddress.IPv4Address('192.168.1.1')))"
python3 -c "import ipaddress; print(ipaddress.IPv4Address(3232235777))"

# MySQL / MariaDB
SELECT INET_ATON('192.168.1.1'), INET_NTOA(3232235777);

# Bash: hex de cada octeto
printf '%02X' 192 168 1 1; echo

Detalles a tener en cuenta

  • Muchos sistemas aceptan formatos “raros”: ping 3232235777 o ping 0xC0A80101 funcionan en Linux y Windows. Esto se usa a veces para evadir filtros de URL; los WAF deben normalizar la dirección.
  • Un cero a la izquierda puede interpretarse como octal en algunas bibliotecas (010 = 8). Evite ceros a la izquierda en configuraciones.
  • En el cable, la dirección viaja en orden de bytes de red (big-endian): el primer octeto se transmite primero.

Preguntas frecuentes

¿Cómo convierto una IP a binario a mano?

Convierta cada octeto por separado restando potencias de 2 (128, 64, 32, 16, 8, 4, 2, 1) y complete con ceros a la izquierda hasta 8 bits.

¿Para qué sirve la IP como número entero?

Para almacenar y comparar direcciones de forma eficiente: verificar si una IP está dentro de un rango se reduce a inicio ≤ n ≤ fin.

¿Qué formatos acepta el convertidor?

Decimal punteado, binario de 32 bits (con o sin puntos), hexadecimal con prefijo 0x y entero de 0 a 4,294,967,295.

Herramienta para estudio y diseño. Valide la configuración en laboratorio y con la documentación del fabricante antes de aplicarla en producción.