Tech

Generador de direcciones IP

Direcciones IPv4 e IPv6 aleatorias para testing, fixtures, configuración de firewalls y datos sintéticos. Pública, privada o rango personalizado.

Estructura de una dirección IP

Una dirección IP identifica un dispositivo en una red. IPv4 usa 32 bits dividos en cuatro octetos (0-255 cada uno), separados por puntos: 192.168.1.1. IPv6 usa 128 bits agrupados en ocho bloques de 16 bits cada uno, separados por dos puntos: 2001:0db8:85a3:0000:0000:8a2e:0370:7334. La forma compacta omite ceros y usa :: para representar grupos consecutivos de ceros.

IPv4 tiene capacidad para ~4.300 millones de direcciones únicas, casi todas asignadas ya. IPv6 tiene 340 undecillones, suficiente para cada átomo de la Tierra varias veces.

Rangos especiales que conviene conocer

  • 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16: redes privadas (RFC 1918). No ruteable en internet pública.
  • 127.0.0.0/8: loopback. 127.0.0.1 apunta siempre al propio dispositivo.
  • 169.254.0.0/16: link-local. Se autoasigna cuando un dispositivo no obtiene IP por DHCP.
  • 192.0.2.0/24, 198.51.100.0/24, 203.0.113.0/24: reservadas para documentación (TEST-NET-1, 2, 3). RFC 5737.
  • 224.0.0.0/4: multicast.
  • 255.255.255.255: broadcast limitado.
  • ::1/128: equivalente IPv6 de 127.0.0.1.
  • 2001:db8::/32: IPv6 para documentación. RFC 3849.

Cuándo usar cada tipo

  1. Pública aleatoria. Para fixtures donde el realismo importa (logs, geolocalización, analytics). Atención: cualquier pública pertenece a alguien.
  2. Privada (RFC 1918). Para configuraciones de red interna, redes de prueba, ejemplos de firewall.
  3. Documentación (TEST-NET). Cuando necesitás IPs públicas de aspecto real pero garantizadas como no asignadas. Recomendado para documentación pública.
  4. Loopback. Para tests locales donde el host es siempre el mismo dispositivo.

Geolocalización de IPs

Servicios como MaxMind, IP2Location o IPinfo asocian rangos de IP a países, regiones y en algunos casos ciudades. Esa asignación es probabilística: una IP puede aparecer en un país pero el usuario estar en otro (VPN, proxy, móvil con SIM extranjera). Para testing de geolocalización, asegurate de usar IPs cuyo país conocés con certeza, o bases de datos de prueba.

IPs en logs y privacidad

En la UE, las IPs públicas son consideradas datos personales por el GDPR cuando se pueden vincular a un usuario. Eso implica:

  • Documentar el procesamiento en tu política de privacidad.
  • Definir un período de retención (típicamente 30-90 días para logs operativos).
  • Anonimizar (truncar el último octeto: 192.168.1.0) cuando solo necesitás stats.
  • Permitir borrado a pedido del usuario.

Errores comunes con IPs en testing

  1. Usar IPs públicas reales en demos. Si la IP pertenece a otra empresa, podés sugerir tráfico que no es real. Mejor TEST-NET.
  2. Hardcodear 8.8.8.8. Es válida pero pertenece a Google. En documentación, conviene 192.0.2.1.
  3. No considerar IPv6. Cada vez más tráfico es v6. Si tu sistema solo testea v4, podés tener bugs en producción.
  4. Validar con regex incompleta. \d+\.\d+\.\d+\.\d+ acepta 999.999.999.999. Validá que cada octeto esté entre 0 y 255.

Preguntas frecuentes

¿Diferencia entre IPv4 e IPv6?

v4: 32 bits (4.3B direcciones). v6: 128 bits (340 sextillones). v6 reemplaza a v4 a medida que crece internet.

¿Qué son las IP privadas?

Rangos para redes locales: 10/8, 172.16/12, 192.168/16. No accesibles desde internet pública.

¿Sirven para testing real?

Para fixtures sí. Para tests con conectividad, usá TEST-NET (192.0.2.0/24).

¿Coinciden con IPs reales?

Las públicas sí. Para testing seguro, privadas o documentación.