Detección de bots por IP: lo que la IP puede y no puede decirte
Detección de bots por IP, probada con cinco IP reales: Googlebot, un servidor en la nube, un nodo de salida de Tor, un escáner de Censys y un relay de iCloud. Qué prueba cada señal y qué se le escapa.

Esa brecha importa porque los bots ya son la mayoría de las solicitudes. El Bad Bot Report 2026 de Imperva concluyó que el tráfico automatizado supuso el 53% del tráfico web que observó en 2025, y que solo los bots maliciosos representaron el 40%. Así que la pregunta útil en tu formulario de inicio de sesión rara vez es "¿es esto un bot?". Es "¿qué tipo de bot es y lo dejamos pasar?".
Vale la pena nombrar los tipos: rastreadores verificados, bots declarados sin verificar, suplantadores, agentes de IA y fetchers activados por usuarios, scrapers de contenido y de precios, atacantes de credential stuffing y escáneres. A continuación mostramos lo que devolvió una consulta para cinco IP, una por cada clase de bot, y después te indicamos la guía que trata cada tarea a fondo: verificar rastreadores por IP, DNS inverso y rangos publicados, proteger los registros y el pago, y limitar la tasa sin bloquear a usuarios reales.

Cómo detectar bots por dirección IP: seis señales
Para detectar bots por dirección IP, consulta la IP de origen y lee seis señales: el tipo de red, el DNS inverso, los rangos de rastreadores publicados, los indicadores de anonimato, los indicadores de escáner y cuántas solicitudes te envía su prefijo. La IP es un punto de partida mejor que el User-Agent por una razón sencilla. Una cabecera es texto que elige el cliente, pero una solicitud HTTP necesita un handshake TCP completo, así que la IP de origen no se puede falsificar sin más. La alternativa real es alquilar la IP de otra persona o pasar a través de ella con un proxy, algo que tratamos en las secciones siguientes.
El 7 de octubre de 2026 hicimos una consulta anónima a la API de GeoIPHub por cada clase de bot:
curl -s https://api.geoiphub.com/v1/lookup/66.249.66.1
| IP | Clase de bot | Red (ASN) | Indicadores clave | fraud_score | recommended_action | detection_methods |
|---|---|---|---|---|---|---|
| 66.249.66.1 | Rastreador verificado | Google (AS15169) | is_crawler: true, crawler.name: Googlebot, verified: true | 0 | allow | datacenter_ip, no_ptr_datacenter, verified_crawler |
| 104.248.50.21 | Servidor de centro de datos | DigitalOcean (AS14061) | is_hosting: true | 15 | allow | datacenter_ip, no_ptr_datacenter |
| 185.220.101.1 | Nodo de salida de Tor | Stiftung Erneuerbare Freiheit (AS60729) | is_tor: true, is_spammer: true | 100 | block | tor_exit, datacenter_blocklisted, rdns_tor, known_spammer |
| 162.142.125.10 | Escáner de internet | Censys (AS398324) | is_scanner: true, is_hosting: false | 0 | allow | (vacío) |
| 104.28.46.99 | Relay de privacidad | Cloudflare (AS13335) | is_relay: true, relay_provider: iCloud Private Relay | 9 | allow | relay_ip |
Recorre la columna de la puntuación y verás la lección principal. En las consultas a GeoIPHub del 7 de octubre de 2026, solo se bloqueó el nodo de salida de Tor (fraud_score 100). Googlebot obtuvo 0, el escáner de Censys 0, la salida de iCloud Private Relay 9 y el servidor de DigitalOcean 15, todos allow. La puntuación responde a "¿cuánto riesgo tiene esta IP?", no a "¿es esto un bot?". Un servidor de centro de datos con 15 y un escáner con 0 son automatización en ambos casos, y ninguno de los dos es arriesgado por sí solo. Las coincidencias con listas son aquí las señales más fiables; los indicadores de tipo de red son inferencias, y por eso mueven la puntuación solo un poco. Son cinco consultas sueltas, no un benchmark, y los valores cambian a medida que cambian los rangos.
Esto es lo que te dice cada señal, y dónde está el detalle:
- Tipo de red (
asn.asn_type,asn.user_type,detection.is_hosting). El ASN, la red que anuncia la IP, te dice de quién es la red. Una IP de centro de datos (hosting), eldetection.is_hostingde la API, es el primer filtro, porque la mayoría de los bots funcionan en centros de datos y la mayoría de las personas no. Por sí solo es un veredicto débil, y por eso DigitalOcean obtuvo 15. Nuestro artículo sobre qué es una dirección IP de centro de datos explica cómo se detecta el hosting y cuándo es legítimo. - DNS inverso (
network.ptr_record,fcrdns_valid). Un nombre de host confirmado en sentido directo puede identificar al operador. El PTR del nodo de salida de Tor termina entor-exit.artikel10.org, lo que activórdns_tor. Una limitación nuestra: la API no guarda ningún PTR para las IP de Googlebot ni de DigitalOcean, aunquedig -xdevuelve nombres en vivo para ambas, así queno_ptr_datacenterse activa en ellas. Haz tú mismo la comprobación de DNS cuando el nombre de host importe. - Rangos de rastreadores publicados (
threat.crawler). Asociar una IP con el archivo de rangos del propio operador es la prueba más limpia de que un bot es quien dice ser. GeoIPHub carga 19 fuentes oficiales de rangos de Google, Microsoft (Bing), Apple, DuckDuckGo, OpenAI, Anthropic, Perplexity, Mistral, Common Crawl y Ahrefs, que se vuelven a descargar a diario. - Indicadores de Tor, VPN, proxy y relay (
detection.is_tor,is_vpn,is_proxy,is_relay). Indican que el cliente real está oculto tras la red de otro. Consulta cómo detectar tráfico de Tor por IP y cómo funciona la detección de VPN y proxies. - Indicadores de escáner (
threat.is_scanner). Los escáneres de todo internet sondean todas las direcciones a las que pueden llegar. - Tasa por prefijo. Esta es tuya, no nuestra: cuenta las solicitudes por /64 en IPv6, como explica más abajo la sección sobre limitación de tasa.
El resultado del escáner nos sorprendió, así que aquí lo tienes, recortado de la respuesta real:
{
"ip": "162.142.125.10",
"asn": {
"asn": 398324,
"org": "CENSYS-ARIN-01 - Censys, Inc.",
"asn_type": "unknown"
},
"detection": { "is_hosting": false, "is_proxy": false, "is_vpn": false },
"threat": {
"is_scanner": true,
"threat_types": ["scanner"],
"crawler": { "verified": false, "name": "none" }
},
"scoring": {
"fraud_score": 0,
"recommended_action": "allow",
"detection_methods": []
}
}
El indicador de escáner está activado, pero no suma nada a la puntuación, y la red de Censys no está clasificada como hosting. Si decides solo según recommended_action, el tráfico de escáneres pasa. Lee threat.is_scanner directamente si quieres excluirlo de la analítica o bloquearlo en el firewall.
Comprobar la IP de un bot: ¿es este rastreador quien dice ser?
Comprobar la dirección IP de un bot confirma un rastreador declarado asociando su IP con el archivo de rangos publicado por el operador, o con un nombre de DNS inverso confirmado en sentido directo, nunca confiando en el User-Agent. Cualquier cliente puede enviar Googlebot en esa cabecera. Solo el operador controla sus rangos de IP.
Nuestra API solo ve la IP, nunca las cabeceras de tu solicitud, así que la comparación la hace tu código: el operador del bot declarado frente a threat.crawler.verified y threat.crawler.operator. No uses threat.crawler.name como clave: es la etiqueta del archivo, y un mismo archivo puede cubrir varios bots. En nuestras consultas, 66.249.66.1 devolvió verified: true, name: "Googlebot", verification_method: "ip_range_list". El servidor de DigitalOcean devolvió name: "none", así que una afirmación de ser Googlebot desde él no está verificada. Eso significa "no verificado como ese bot", no la prueba de una falsificación.
ClaudeBot y PerplexityBot están cubiertos por los archivos de rangos que publican Anthropic y Perplexity: el 8 de octubre de 2026, 216.73.216.10 devolvió verified: true, name: "ClaudeBot", operator: "Anthropic". Los bots que no publican ningún archivo de rangos siguen necesitando el método propio del operador, como el DNS inverso. Los bots que firman sus solicitudes con Web Bot Auth pueden comprobarse por la firma en lugar de por la IP.
El detalle está en cuatro artículos. La guía de verificación de rastreadores trata el DNS inverso, los archivos CIDR y las firmas de Web Bot Auth. Cómo verificar Googlebot y detectar Googlebots falsos trata los tres grupos de rastreadores de Google y sus archivos de rangos. GPTBot frente a OAI-SearchBot frente a ChatGPT-User explica qué bot de OpenAI bloquear y cómo comprobar cada uno. Nuestra lista de IP de rastreadores verificados incluye los 19 archivos con sus fechas y el código de la lista de permitidos.
Lo que la detección de bots basada en IP no puede decirte
La detección de bots basada en IP no puede decirte si una IP doméstica se está alquilando como proxy residencial, y GeoIPHub no detecta proxies residenciales. Una red de proxies residenciales enruta la solicitud de un bot a través de la conexión doméstica de alguien. En la capa IP, esa solicitud parece tráfico del propio hogar: un ISP de consumo, una ciudad real, ningún indicador de hosting.
Nuestro campo is_residential_proxy es una inferencia aproximada basada en el ASN, no una detección, así que no lo trates como una señal. La rotación lo empeora. Un pool puede asignar a cada solicitud una IP doméstica distinta, de modo que los contadores por IP nunca suben.
Las botnets comparten el mismo punto ciego. Los dispositivos domésticos infectados envían tráfico de bots desde IP residenciales normales, y las fuentes sobre botnets cubren la infraestructura conocida, como los servidores de mando y control, no todos los dispositivos infectados. Los bots esquivan la detección por IP de cuatro formas habituales: rotando direcciones, alquilando proxies residenciales, recorriendo un /64 de IPv6 y pasando por proxies móviles que comparten IP del operador con teléfonos reales.
- Proxies residenciales. No se detectan. Atrápalos por el comportamiento: velocidad por cuenta, discrepancias de dispositivo y de sesión.
- El User-Agent y otras cabeceras. La API nunca los ve. Compara lo que se declara en tu propio código.
- Quién está escribiendo. Un navegador headless y una persona en la misma IP de oficina son idénticos en esta capa.
- Rangos publicados en los últimos dos días. Volvemos a descargar a diario los archivos de rangos de rastreadores y reconstruimos a diario la base de datos de consultas, así que un rango recién publicado puede seguir sin verificar hasta unos dos días.
- Rastreadores fuera de nuestras 19 fuentes. Sin identidad verificada, digan lo que digan.
- Riesgo de escáneres.
is_scannerestá activado pero, en nuestra consulta, no elevafraud_score.
Las capas que cubren estas brechas están junto a la IP: comportamiento y velocidad, huella digital del dispositivo, huellas TLS como JA3 y JA4, desafíos y Web Bot Auth para los bots que se declaran. Para el lado residencial, lee detección del fraude con proxies residenciales para saber qué puede y qué no puede mostrar una consulta, y por qué aparecen tantos proxies residenciales en tu tráfico para entender por qué hay tantos.
Cómo detectar tráfico de bots en registros, inicios de sesión y pagos
Para detectar tráfico de bots en registros, inicios de sesión y pagos, haz la consulta IP en el momento de la acción y combínala con lo que tu aplicación ya sabe: intentos por cuenta, por prefijo y por dispositivo. La IP acota el campo. Tus propios contadores toman la decisión.
Cada endpoint pondera las señales de forma distinta:
- Inicios de sesión. El credential stuffing reparte los intentos entre muchas IP, a menudo residenciales, que la capa IP no puede marcar. Los indicadores de Tor y de hosting siguen atrapando a la parte perezosa. Nuestra guía sobre robo de cuentas y credential stuffing explica el enfoque por capas.
- Pago. Una IP de centro de datos en el pago puede ser un agente de compras de IA legítimo, así que el hosting es una señal ponderada y no un bloqueo: el servidor de DigitalOcean obtuvo 15,
allow. Consulta cómo frenar el fraude de agentes de compras de IA en el pago. - Clics en anuncios. Los indicadores de hosting y de Tor marcan los clics que conviene dejar fuera de tus datos de conversión. Nuestra guía para detectar el fraude de clics por dirección IP muestra la puntuación.
- Registros. Se aplican las mismas bandas, más una comprobación de muchas cuentas desde un mismo prefijo.
Usa las bandas de puntuación como acción por defecto: allow hasta 25, review hasta 50, step_up hasta 75, block por encima de 75. Añade tus propias reglas para los indicadores que la puntuación no tiene en cuenta, como is_scanner.
Cómo limitar la tasa de las IP de bots sin bloquear a usuarios reales
Limita la tasa de las IP de bots según la unidad que corresponde a un actor: el /64 en IPv6 y la dirección individual en IPv4, con ajustes para salidas compartidas como CGNAT e iCloud Private Relay. Si cuentas la unidad equivocada, o se te escapa el bot o castigas a una multitud. Para los rastreadores de IA en concreto, la decisión de permitir, verificar o limitar la tasa se analiza en ¿deberías bloquear los rastreadores de IA?.
En IPv6, un abonado recibe un /64 entero y puede rotar por él gratis, así que un contador por dirección nunca salta. Nuestra guía para limitar la tasa y bloquear IPv6 por prefijo /64 muestra la función de clave y cuándo ampliar a /56 o /48.
En IPv4 aparece el problema contrario: muchas personas comparten una dirección. El NAT de operador (CGNAT) coloca a todo un barrio detrás de una IP. La API lo marca como threat.is_cgnat, y la puntuación limita el riesgo de las direcciones con CGNAT. iCloud Private Relay hace lo mismo con los usuarios de Apple: nuestra IP de relay obtuvo 9, allow, con el método relay_ip.
La geolocalización de los relays también requiere cuidado. Nuestra consulta situó 104.28.46.99 en Luanda, Angola. Esa es la salida del relay, no la prueba de dónde está el usuario, así que no apliques bloqueos geográficos basándote en ella. Nuestra guía para detectar tráfico anonimizado sin bloquear a clientes reales explica la lista de salidas que publica Apple y cómo tratar los relays.
Por dónde empezar con la detección de bots por IP
Para actuar con la detección de bots por IP, asigna a cada señal una acción por defecto (para una sola dirección sospechosa, sigue en su lugar el método completo de investigación de una IP): permite los rastreadores verificados, limita la tasa de las declaraciones de rastreador sin verificar, bloquea o pide verificación adicional ante Tor y usa señales de comportamiento cuando la IP parezca residencial. Cada fila de la tabla es una señal, lo que prueba, una acción por defecto y el artículo que la trata.
| Señal | Lo que te dice | Acción por defecto | Lectura siguiente |
|---|---|---|---|
| threat.crawler.verified con un nombre que coincide con el User-Agent | El bot es quien dice ser | Permitir con las concesiones para rastreadores | Guía de verificación de rastreadores |
| User-Agent de rastreador, crawler.name es "none" | La declaración no está verificada (no es prueba de falsificación) | Limitar la tasa o lanzar un desafío | Verificar Googlebot; comparativa de bots de OpenAI |
| detection.is_hosting: true, nada más | IP de centro de datos: un script, un agente o un proxy empresarial | Permitir, vigilar la tasa | Qué es una IP de centro de datos |
| detection.is_tor: true | Salida anonimizada, a menudo en listas de bloqueo | Bloquear o pedir verificación adicional en acciones sensibles | Cómo detectar tráfico de Tor |
| threat.is_scanner: true | Escáner de todo internet; la puntuación se mantiene baja | Excluir de la analítica o bloquear en el firewall | Este artículo |
| detection.is_relay: true | Relay de privacidad que transporta usuarios reales | Permitir; no confiar en su ciudad | Tráfico anonimizado sin bloquear a clientes |
| Muchas solicitudes desde un mismo /64 de IPv6 | Un actor que rota direcciones | Limitar la tasa del /64, ampliar si persiste | Limitar la tasa de IPv6 por prefijo |
| ISP de consumo, puntuación limpia, comportamiento de bot | Posiblemente un proxy residencial; la IP no puede confirmarlo | Usar señales de comportamiento y de sesión | Detección del fraude con proxies residenciales |
La forma más rápida de ver dónde se sitúa tu propio tráfico: toma las 20 IP más activas de los logs de ayer y pega cada una en la herramienta gratuita de consulta de IP, o ejecuta curl -s https://api.geoiphub.com/v1/lookup/<ip> sin clave (30 consultas por minuto), o 1.500 al día con una clave gratuita. Ordénalas según las clases de bot de la primera tabla y sabrás qué sección de este mapa leer primero.
Preguntas frecuentes
¿Se pueden detectar bots solo por la dirección IP?
En parte. Una consulta IP te dice de qué tipo de red viene una solicitud: un rango de rastreador publicado, un servidor de centro de datos, un nodo de salida de Tor, una VPN, un relay de privacidad o un escáner conocido. No puede decirte si la solicitud la envió una persona o un script, ni detectar una IP doméstica alquilada a través de una red de proxies residenciales. Usa la IP como una señal más, junto a la tasa de solicitudes, el historial de la cuenta y las señales del dispositivo.
¿Cómo compruebo si la dirección IP de un bot es un rastreador real?
Compara la IP con el archivo de rangos publicado por el operador, o haz una consulta de DNS inverso y confírmala con una consulta directa. El User-Agent no prueba nada, porque cualquier cliente puede enviar cualquier cadena. En nuestra consulta del 7 de octubre de 2026, 66.249.66.1 devolvió threat.crawler.verified true con el nombre Googlebot, mientras que un servidor de DigitalOcean no devolvió ninguna identidad de rastreador. Nuestra guía de verificación de rastreadores explica paso a paso el DNS inverso, los archivos de rangos y Web Bot Auth.
¿Qué precisión tiene la detección de bots por IP?
Depende de la señal. Una coincidencia con una lista publicada es una evidencia sólida: GeoIPHub comprueba 19 fuentes oficiales de rangos de rastreadores de 10 operadores, que se vuelven a descargar a diario, y la lista de nodos de salida del Tor Project, que se actualiza cada 6 horas. Los indicadores de hosting, VPN y proxy son inferencias; la detección de hosting usa 853 ASN de hosting seleccionados más los rangos oficiales de 10 proveedores de nube. Los proxies residenciales no se detectan. No publicamos un porcentaje de precisión, y las cinco consultas de este artículo son ejemplos, no un benchmark.
¿Una puntuación de fraude alta significa que una IP es un bot?
No. La puntuación mide el riesgo, no la automatización. En nuestras cinco consultas, un escáner de Censys obtuvo 0 y un servidor de DigitalOcean 15, ambos allow, aunque los dos están claramente automatizados. Un nodo de salida de Tor obtuvo 100, block. Lee los indicadores para saber qué es el tráfico, y la puntuación para saber cuánto riesgo tiene.
¿GeoIPHub detecta proxies residenciales?
No. El campo is_residential_proxy es una inferencia aproximada basada en el ASN, no una detección. Una IP doméstica alquilada a través de una red de proxies parece una conexión doméstica normal en la capa IP, así que detectarla requiere señales de comportamiento y de sesión.
El equipo detrás de la API de GeoIPHub
Escrito por el equipo de GeoIPHub, las personas que crean la API de inteligencia IP de GeoIPHub y su escáner. Los borradores se preparan con ayuda de IA y el equipo los edita; los ejemplos de la API son consultas reales contra la API en producción, salvo que se indique que son ilustrativos.


