Saltar al contenido
Seguridad de red

Cómo investigar una dirección IP: 3 IP reales, 3 veredictos

Cómo investigar una dirección IP en 12 pasos pasivos, aplicados a tres IP reales: una salida de Mullvad en block, un AhrefsBot listado en Spamhaus en step up y un servidor en allow.

PorEquipo de GeoIPHubPublicadoTiempo de lectura16 min de lectura
Un nodo luminoso bajo una lupa con cinco hilos que llevan a marcadores en fila, que representan los pasos para investigar una dirección IP

A las 05:34 UTC del 19 de octubre de 2026 pasamos tres direcciones por el mismo pipeline y obtuvimos tres veredictos distintos. Una salida de la VPN Mullvad obtuvo 100, block. Una dirección verificada de AhrefsBot obtuvo 59, step_up, porque Spamhaus la lista. Un servidor de DigitalOcean obtuvo 12, allow. Once días antes, esa misma dirección de AhrefsBot había obtenido 23, allow.

A continuación están las doce comprobaciones en orden, el campo que hay que leer en cada una, los umbrales con los que actuamos, dónde denunciar el abuso y el límite legal de cualquier investigación de IP.

Tres flujos de luz que entran en una misma pila de filtros y salen como tres caminos separados de colores distintos, que representan tres direcciones IP que llegan a block, step up y allow
Un pipeline, tres direcciones, tres veredictos: block, step up y allow.

Cómo investigar una dirección IP: tres direcciones, tres veredictos

Las mismas doce preguntas enviaron tres direcciones a tres acciones distintas, y en cada caso una sola señal lo decidió. Son consultas sin clave a nuestra API, guardadas a las horas indicadas, con los valores sin editar:

IPQué esGuardada (UTC)fraud_score, recommended_actionLa señal que lo decidió
185.213.155.73Servidor de Mullvad de-fra-wg-001, Fráncfort05:34:30100, blockEstá en la propia lista de servidores de Mullvad; se activó wireguard_open
5.39.1.230AhrefsBot, en OVH en París05:34:3259, step_upRastreador verificado, pero listado en Spamhaus ZEN
104.248.50.21Droplet de DigitalOcean, North Bergen, NJ05:34:3512, allowSolo hosting, sin indicador de abuso ni de anonimizador

Nuestras franjas son allow hasta 25, review hasta 50, step_up hasta 75 y block por encima de 75. El orden de las comprobaciones es: enrutable, propietario, tipo de red, hostname, anonimizador, rastreador o escáner, listas de bloqueo, puntuación, decisión, denuncia, caducidad y el límite legal.

La fila del medio es la lección. Un rastreador verificado puede estar igualmente en una lista de bloqueo, y el descuento por rastreador de nuestra puntuación no lo mantuvo en allow.

Antes de empezar: mantente pasivo y anota dónde apareció la IP

Apunta el contexto de la alerta antes de consultar nada: la marca de tiempo con su zona horaria, el puerto o la ruta que tocó y lo que hizo, como sondeos a /wp-admin o /.env o una ráfaga de inicios de sesión fallidos. Ese contexto decide el veredicto tanto como cualquier consulta.

Mantente pasivo: usa consultas, registros y sitios de reputación, y nunca escanees la dirección de vuelta. Un escaneo de puertos puede alertar a quien gestiona el host, y escanear una red sin permiso puede infringir la ley o las condiciones de tu proveedor.

Paso 1: ¿Es una dirección pública enrutable?

Comprueba que la dirección podría haberte llegado por internet. Lee threat.is_bogon y threat.is_cgnat. Un bogon es una dirección que nunca debería aparecer en la internet pública, como un rango privado o reservado. Si aparece uno como origen en tu borde de internet, estás ante tráfico interno, un proxy mal configurado o un paquete falsificado, y el resto de este pipeline no aplica.

Una dirección de NAT de nivel de operador (CGNAT) es enrutable pero compartida. Una sola dirección móvil o de banda ancha puede llevar a cientos de abonados a la vez, así que cualquier cosa que decidas sobre ella recae en todos ellos.

Nuestras tres direcciones devolvieron is_bogon false e is_cgnat false, así que siguen adelante en el pipeline.

Paso 2: ¿Quién es el propietario? ASN y RDAP

El propietario sale de dos registros: el sistema autónomo (AS) que anuncia la dirección y el registro del bloque en el registro de internet. Lee asn.asn, asn.org y asn.rpki para la ruta, y después whois.org, whois.netname, whois.registered y network.abuse_contact para el registro.

IPasn.asn, asn.orgrpkiwhois.orgwhois.netnamewhois.registered
185.213.155.7339351, ESAB-AS - 31173 Services ABvalid31173 Services AB infrastructure in Frankfurt, DE.NET-31173-185-213-155-0-242017-07-19
5.39.1.23016276, OVH - OVH SASvalidFailover IPsOVH-DEDICATED-FO2012-05-15
104.248.50.2114061, DIGITALOCEAN-ASN - DigitalOcean, LLCunknownnonenone2018-08-06

Fíjate en lo que los registros no dicen. Nada en el registro del servidor de Mullvad dice "Mullvad": nombra a 31173 Services, la empresa que opera la red de Mullvad, y whois.has_vpn_keywords es false. El whois.org de DigitalOcean devolvió "none", así que ahí la propiedad la indica el ASN. Aquí tienes lo que un ASN te dice sobre la red si necesitas el contexto.

Cuando el registro almacenado es escaso, ve a la fuente. Los datos de registro están en los cinco registros regionales de internet: ARIN, RIPE NCC, APNIC, LACNIC y AFRINIC. El archivo bootstrap de RDAP de la IANA te dice cuál de ellos tiene un rango. RDAP es el sucesor estructurado, en JSON, de WHOIS. Cuando abrimos el registro RDAP de RIPE para 5.39.1.230 a las 05:43 UTC, mostraba un bloque más pequeño, 5.39.1.224/27, cuya organización titular es Ahrefs Pte Ltd. Nuestro registro almacenado refleja el bloque de failover más grande de OVH. Prevalece el registro más específico.

Paso 3: ¿Qué tipo de red es?

El tipo de red enmarca todas las señales posteriores, así que léelo antes que cualquier dato de reputación. Los campos son asn.asn_type, asn.user_type, asn.connection_type, detection.is_hosting y detection.is_mobile.

IPasn_typeuser_typeconnection_typeis_hostingis_mobile
185.213.155.73hostinghostingdatacentertruefalse
5.39.1.230hostingsearch_engine_spiderdatacentertruefalse
104.248.50.21hostinghostingdatacentertruefalse

Las tres son direcciones de hosting, y solo una acabó en block. El hosting es contexto, no culpa: las salidas de VPN, los rastreadores y tus propios runners de CI viven en datacenters. Por eso una IP de hosting no es prueba de fraude. El user_type search_engine_spider de AhrefsBot es la primera pista de que la segunda dirección es un rastreador.

Paso 4: ¿Qué dice su hostname? DNS inverso y FCrDNS

El DNS inverso devuelve el hostname que configuró el propietario del bloque, y el DNS inverso confirmado hacia delante (FCrDNS) comprueba que ese hostname resuelve de vuelta a la misma IP. Lee network.ptr_record y network.fcrdns_valid, y después haz la comprobación tú mismo, porque un PTR almacenado puede ir por detrás del DNS en vivo. Ejecutamos esto a las 05:42 UTC del 19 de octubre de 2026:

GeoIPHub API
dig -x 185.213.155.73 +short # no answer dig -x 5.39.1.230 +short # proxy-fr005-cip7.ahrefs.net. dig +short proxy-fr005-cip7.ahrefs.net # 5.39.1.230 dig -x 104.248.50.21 +short # no answer

La dirección de AhrefsBot pasa el FCrDNS en vivo, y la página del robot de Ahrefs dice que los hostnames de su rastreador siempre terminan en ahrefs.com o ahrefs.net. Nuestra API, sin embargo, no almacena ningún PTR para ella, y por eso más adelante se activa no_ptr_datacenter. Fíate de la ejecución en vivo antes que del campo almacenado.

El servidor de DigitalOcean muestra el fallo contrario. Nuestra API almacena para él un hostname que pertenece a un tercero sin relación, fcrdns_valid es false y se activa el método fcrdns_mismatch. Nuestro propio dig -x no devolvió ningún PTR, así que el nombre almacenado está desactualizado. Una discrepancia como esta es una señal débil: fue uno de los dos únicos métodos que se activaron, y la dirección siguió obteniendo 12.

Paso 5: ¿Es una VPN, un proxy, un nodo de salida de Tor o un relay?

Este paso pregunta si alguien se esconde detrás de la dirección. Lee detection.is_vpn, is_proxy, is_tor, is_relay, vpn_provider, relay_provider y last_seen.

IPis_vpnis_proxyis_toris_relayvpn_providerlast_seen
185.213.155.73truefalsefalsefalseMullvad2026-10-17T20:32:18.000Z
5.39.1.230falsefalsefalsefalsenone2026-10-18T21:40:52.000Z
104.248.50.21falsefalsefalsefalsenone2026-10-18T10:14:47.000Z

El servidor de Mullvad aparece con nombre y con vpn_confidence 95 porque está en la lista de servidores que Mullvad publica para sus propias aplicaciones. Así es como una IP de VPN se asocia a su proveedor, y tiene un límite: una VPN que no está en ninguna lista puede ser detectada igualmente por los sondeos, pero se queda sin nombre. Para Tor, compara la dirección con la lista masiva de nodos de salida del Tor Project, o lee nuestra guía para detectar tráfico de salida de Tor. Los relays como iCloud Private Relay no son VPN: transportan a usuarios corrientes de navegador, así que nuestra puntuación limita una dirección de relay a 60 y nunca puede llegar a block.

Paso 6: ¿Es un rastreador verificado o un escáner conocido?

Un rastreador verificado es una dirección que está en la lista de rangos publicada por su operador, y un escáner es infraestructura que sondea toda internet. Lee threat.crawler.verified, name, operator y verification_method, y después threat.is_scanner y threat_types.

IPcrawler.verifiedcrawler.name, operatorverification_methodis_scannerthreat_types
185.213.155.73falsenonenonefalse["vpn"]
5.39.1.230trueAhrefsBot, Ahrefsip_range_listfalse["spammer","abusive"]
104.248.50.21falsenonenonefalse[]
162.142.125.10falsenonenonetrue["scanner"]

AhrefsBot coincidió con los rangos publicados por Ahrefs, así que su operador queda establecido. Cualquier cosa cuyo User-Agent diga ser Googlebot merece el mismo tratamiento: verifica una IP que dice ser Googlebot antes de fiarte de ella. El panorama más amplio está en cómo detectar bots por dirección IP.

La cuarta fila es un escáner de Censys en Ann Arbor, consultado a las 05:34 UTC. Devolvió is_scanner true, una puntuación de 0, allow y una lista detection_methods vacía. El indicador de escáner no mueve nuestra puntuación, así que léelo directamente.

Paso 7: ¿Está en listas de bloqueo, y desde cuándo?

Las listas de bloqueo registran que se observó abuso desde una dirección, y sus fechas importan más que su presencia. Lee threat.is_abusive, is_spammer, is_botnet y dnsbl_sources.

IPis_abusiveis_spammeris_botnetdnsbl_sources
185.213.155.73falsefalsefalse[]
5.39.1.230truetruefalse["zen.spamhaus.org"]
104.248.50.21falsefalsefalse[]

Después revisa las fuentes externas, de forma pasiva:

  • Spamhaus. ZEN combina las listas de bloqueo de IP gratuitas de Spamhaus, y su página remite al comprobador de reputación de IP y dominios de Spamhaus para ver los detalles de un listado.
  • AbuseIPDB. AbuseIPDB muestra denuncias de abuso enviadas por usuarios. Lee su puntuación de confianza y las fechas de las denuncias más recientes, no el recuento total.
  • VirusTotal. VirusTotal muestra cuántos proveedores de seguridad marcan la dirección y cualquier archivo o URL vinculado a ella.
  • Shodan y Censys. Shodan y Censys muestran lo que sus escaneos ya encontraron ejecutándose en el host, así que ves los servicios abiertos sin tocarlo.

Lo reciente pesa más que la presencia. Un listado de la semana pasada importa, y un resultado limpio de hace seis meses no te dice casi nada sobre hoy.

Paso 8: Lee la puntuación y los métodos que se activaron

La puntuación es un resumen fechado de todo lo anterior, y scoring.detection_methods te dice por qué quedó donde quedó. Esta es la consulta de AhrefsBot, recortada a los grupos que usa este playbook, con los valores sin editar:

GeoIPHub API
curl https://api.geoiphub.com/v1/lookup/5.39.1.230 -H "x-api-key: YOUR_API_KEY"
GeoIPHub API
{ "ip": "5.39.1.230", "asn": { "asn": 16276, "org": "OVH - OVH SAS", "asn_type": "hosting", "user_type": "search_engine_spider", "rpki": "valid" }, "whois": { "org": "Failover IPs", "netname": "OVH-DEDICATED-FO", "registered": "2012-05-15T00:00:00.000Z" }, "network": { "abuse_contact": "abuse@ovh.net" }, "detection": { "is_vpn": false, "is_tor": false, "is_hosting": true }, "threat": { "is_abusive": true, "is_spammer": true, "is_scanner": false, "threat_types": ["spammer", "abusive"], "dnsbl_sources": ["zen.spamhaus.org"], "crawler": { "verified": true, "name": "AhrefsBot", "operator": "Ahrefs", "verification_method": "ip_range_list" } }, "scoring": { "fraud_score": 59, "confidence": 0.486, "recommended_action": "step_up", "detection_methods": ["abusive_listed", "datacenter_blocklisted", "no_ptr_datacenter", "verified_crawler", "known_spammer"] }, "meta": { "last_classified_at": "2026-10-19T05:34:32.660Z" } }

Los métodos de las tres direcciones:

IPPuntuación, acciónconfidencedetection_methods
185.213.155.73100, block0.7075known_vpn_server, wireguard_open, datacenter_with_vpn_proxy, no_ptr_datacenter
5.39.1.23059, step_up0.486abusive_listed, datacenter_blocklisted, no_ptr_datacenter, verified_crawler, known_spammer
104.248.50.2112, allow0.22datacenter_ip, fcrdns_mismatch

verified_crawler es una señal exculpatoria que vale menos 28,5 en nuestra puntuación (menos 30 con una confianza de 0,95), y aun así no bastó para compensar dos métodos de listas de bloqueo y un listado de spam. La reputación es historia, y la puntuación es una instantánea de ella; aquí tienes cómo se construye la reputación de una IP.

Paso 9: Decide si bloquear la IP, el prefijo o el ASN

Asocia la franja de puntuación a una acción y después elige hasta dónde llega esa acción. Estos son los veredictos con los que actuaríamos:

IPNuestra decisiónPor qué
Mullvad, 100Bloquear en los flujos de registro, pago y administración; aplicar step up en su lugar donde tus usuarios usen VPN de forma legítimaUn anonimizador en un flujo sensible, sin historial del usuario que pese en contra
AhrefsBot, 59Permitir el rastreo con un límite de tasa; aplicar step up a todo lo que envíe un formulario o inicie sesiónUn rastreador no tiene motivo para iniciar sesión, y su rango está listado actualmente
DigitalOcean, 12Permitir y vigilarSolo hosting, no se activó nada más

El alcance importa tanto como la acción. Bloquea una sola dirección IPv4 para un caso aislado. Para IPv6, bloquea un /64 de IPv6 en lugar de una sola dirección, porque un cliente suele controlar todo el /64. Bloquea un ASN completo solo en redes de hosting de las que nunca vienen tus usuarios reales, y nunca en un operador móvil ni en un rango de CGNAT.

Prefiere los límites de tasa y los desafíos a los bloqueos estrictos: un bloqueo también afecta a quien tenga la dirección la semana que viene. Automatizar bloqueos a partir de tus logs, por ejemplo con fail2ban, es un tema aparte. Para saber qué señal frena qué ataque, consulta qué señal de IP detiene cada ataque.

Paso 10: Denuncia una IP abusiva al contacto de abuso de su red

Envía las denuncias de abuso a la dirección de network.abuse_contact, que procede del registro:

IPnetwork.abuse_contact
185.213.155.73abuse-cust-de@31173.se
5.39.1.230abuse@ovh.net
104.248.50.21abuse@digitalocean.com
162.142.125.10scan-abuse@censys.com

Envía evidencia, no adjetivos: marcas de tiempo con la zona horaria, las líneas de log, el host y el puerto de destino, y lo que hizo el tráfico. Regístralo también en AbuseIPDB para que otros defensores lo vean.

Paso 11: ¿Cuánto dura un veredicto sobre una IP?

Un veredicto dura días, no meses, y vimos uno cambiar. El 8 de octubre de 2026 consultamos 5.39.1.230 para un artículo sobre web scraping. Devolvió crawler.verified true, is_abusive true, una puntuación de 23 y allow, con los métodos abusive_listed, datacenter_blocklisted, no_ptr_datacenter y verified_crawler.

A las 05:34:32 UTC del 19 de octubre de 2026, la misma dirección devolvió 59 y step_up. El mismo rastreador, el mismo rango verificado, el mismo operador. Lo que cambió en los métodos fue known_spammer, que se sumó a la lista, y la consulta de hoy muestra is_spammer true con zen.spamhaus.org en dnsbl_sources. No registramos esos dos campos el 8 de octubre, así que sabemos que el listado de spam es nuevo para la puntuación, no el día en que Spamhaus lo añadió. El descuento por rastreador verificado siguió aplicándose y no fue suficiente. Once días movieron la dirección dos franjas.

Nuestros feeds de amenazas y los archivos de rangos de rastreadores se actualizan a diario, así que un veredicto puede cambiar de la noche a la mañana. La regla: guarda la fecha con cada veredicto y vuelve a ejecutar la consulta antes de actuar según uno más antiguo que el ciclo de tu feed. Un indicador no es un veredicto, y un veredicto caduca.

Paso 12: ¿Se puede encontrar a la persona que hay detrás de una dirección IP?

No. Una dirección IP te lleva a una red, no a una persona: solo el ISP o el proveedor de hosting puede asociar una dirección y una hora a un abonado, y lo revela mediante un procedimiento legal, como una orden judicial, no a ti ni a nosotros.

Investiga las direcciones que tocaron tus propios sistemas, detente en la red y no intentes desenmascarar ni escanear a nadie. La geolocalización también es aproximada: nuestras tres consultas ubicaron las direcciones en Fráncfort, París y North Bergen, lo que localiza un datacenter a nivel de ciudad, nunca una dirección postal.

Aplica el mismo pipeline a tu próxima alerta

Toma la siguiente dirección de tu cola de alertas y pásala por la misma consulta con el contexto de la alerta al lado. Para automatizar las doce comprobaciones, empieza por la documentación de la API de consulta.

Las consultas sin clave están limitadas a 30 por minuto, y el límite es estricto: la solicitud número 30 dentro de un mismo minuto ya devuelve un 429 y bloquea la IP que llama durante dos horas. Usa una clave gratuita para los scripts: te da 1.500 consultas al día con todos los campos. Enviar consultas a un SIEM a escala es el siguiente paso para una cola con mucho volumen.

Preguntas frecuentes

¿Cómo se investiga una dirección IP sospechosa?

De forma pasiva y en orden. Confirma que es una dirección pública enrutable, averigua quién es su propietario y qué tipo de red es, revisa su hostname y sus indicadores de anonimizador y de rastreador, lee sus apariciones en listas de bloqueo y sus fechas, y después actúa según una puntuación y anota la fecha.

¿Cómo puedo saber si una dirección IP es maliciosa?

Ninguna comprobación aislada lo demuestra. Busca listados vigentes como Spamhaus, denuncias de abuso recientes en AbuseIPDB e indicadores de anonimizador, y ponderarlos frente a lo que hizo la dirección en tus propios sistemas. Un indicador significa que se observó abuso desde esa dirección, no que esta solicitud sea abuso.

¿Se puede encontrar a la persona que hay detrás de una dirección IP?

No por tu cuenta. Una IP lleva a un operador de red, y solo ese operador puede asociar una dirección y una hora a un abonado, algo que revela mediante un procedimiento legal, no a ti. En su lugar, denuncia el abuso al contacto de abuso de la red.

¿Debo bloquear la IP, el prefijo o el ASN completo?

Bloquea una sola dirección IPv4 para un caso aislado, un /64 de IPv6 en lugar de una sola dirección IPv6, y un ASN completo solo en redes de hosting de las que nunca vienen tus usuarios reales. Evita bloquear rangos móviles o de CGNAT, porque una sola dirección puede llevar a muchos usuarios.

¿Un rastreador verificado siempre es seguro de permitir?

No. La dirección 5.39.1.230 de AhrefsBot coincidía con los rangos publicados por Ahrefs el 19 de octubre de 2026, pero también estaba listada en Spamhaus ZEN y obtuvo 59, step_up. La verificación te dice quién opera la dirección, no que su rango esté limpio.

¿Cuánto tiempo sigue siendo válido el resultado de una investigación de IP?

Días, no meses. La misma dirección de AhrefsBot obtuvo 23, allow, el 8 de octubre de 2026 y 59, step_up, el 19 de octubre. Vuelve a ejecutar la consulta antes de actuar según un veredicto antiguo y guarda la fecha con cada veredicto.

Escrito por

Equipo de GeoIPHub

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.

Comparte este artículo
Más artículos

Artículos relacionados