📍 Cuál Es Mi IP
Tu IP pública, hostname inverso, navegador, OS y cabeceras proxy.
🔍 Detalles
| Client IP | 216.73.216.208 |
| REMOTE_ADDR | 172.19.0.5 |
| X-Forwarded-For | 216.73.216.208 |
| X-Real-IP | — not set |
| CF-Connecting-IP | — not set |
| Hostname (rDNS) | — not set |
| Browser | Unknown |
| OS | Unknown |
| User-Agent | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
| Accept-Language | — not set |
| Accept-Encoding | gzip, br, zstd, deflate |
| Protocol | HTTP/1.1 |
| TLS | No (HTTP) |
📚 Acerca de Cabeceras Proxy
• REMOTE_ADDR: IP de conexión TCP
• X-Forwarded-For: IP del cliente original añadida por proxies
• CF-Connecting-IP: IP real del cliente establecida por Cloudflare
• X-Forwarded-For de fuentes no confiables puede ser falsificado — debe validarse en producción.
📖 Qué te dice este diagnóstico
Esta página muestra la IP de origen que nuestro servidor observó en tu conexión, junto con las cabeceras de proxy que traía la petición. La IP mostrada no es necesariamente la de tu dispositivo: en redes móviles y corporativas, el CGNAT y los proxies hacen que muchos usuarios compartan una dirección, y a través de una VPN ves el nodo de salida. Su uso principal es confirmar cómo percibe un servicio al cliente con el que habla.
| Elemento | Qué significa | Cómo corregirlo |
|---|---|---|
| Fiarse del primer X-Forwarded-For | X-Forwarded-For añade una entrada en cada salto, dando client, proxy1, proxy2. El cliente puede poner lo que quiera al principio, así que el valor más a la izquierda no merece ninguna confianza. Una implementación que lo tome permite saltarse listas blancas de IP, límites de tasa y bloqueos con sólo añadir una cabecera. |
Cuenta los proxies de confianza de tu propia topología y toma la entrada que esté a esa distancia por la derecha. En nginx, lista sólo los rangos de tu balanceador o CDN en set_real_ip_from y activa real_ip_recursive on;: el primer valor que no esté en la lista de confianza se toma como cliente real. |
| Tras un CDN todos parecen la misma IP | Con Cloudflare o similar delante, todas las conexiones que ve el origen provienen de una dirección de servidor de borde. El análisis de logs, la geolocalización y la limitación de tasa dejan de funcionar de golpe, y ocurre el accidente clásico de que el origen se bloquee a sí mismo al ver el borde como un cliente muy activo. | Usa la cabecera que tu CDN pone para el cliente real: CF-Connecting-IP en Cloudflare, True-Client-IP de forma genérica. En nginx eso es real_ip_header CF-Connecting-IP; más los rangos publicados del CDN en set_real_ip_from. Esos rangos cambian, así que automatiza su actualización, y cierra con firewall cualquier vía que llegue al origen sin pasar por el CDN. |
| Tratar IPv6 con la granularidad de IPv4 | En IPv4 una dirección equivale más o menos a un abonado, pero en IPv6 a cada abonado se le entrega un /64 o mayor, del orden de 18 trillones de direcciones. Limitar o bloquear por dirección se anula en cuanto el mismo usuario se mueve a la dirección contigua. |
Agrupa IPv6 por /64, o /56 si quieres ser más estricto. Da además 45 caracteres a cualquier columna que guarde direcciones —el máximo incluyendo formas mapeadas como ::ffff:192.168.0.1— y revisa que tus expresiones regulares de logs no estén hechas para la forma \d+\.\d+ de IPv4. |
No uses una dirección IP como identificador de usuario. En redes móviles el CGNAT hace que cientos o miles de personas compartan una dirección, mientras que un mismo usuario puede cambiar de dirección en minutos. Ni misma IP significa misma persona, ni distinta IP significa otra persona. La geolocalización acierta en general a nivel de país, pero es mucho menos fiable a nivel de ciudad. Además, bajo el RGPD europeo una IP es dato personal, así que si la almacenas, define plazo y finalidad.