Extraer direcciones IP de texto
Pegue una línea con 192.168.1.10, 10.0.0.25, 8.8.8.8 y otra vez 10.0.0.25, y las 4 vuelven en orden, mientras 999.1.2.3 se descarta porque ninguna parte puede pasar de 255. No se consulta ni se contacta ninguna dirección. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
El extractor de direcciones IPv4 convierte texto sin estructura en una lista ordenada de direcciones de red. Pegue un registro de servidor, un fragmento de configuración, una nota de incidente, la salida de un comando o un mensaje de soporte y obtendrá cada aparición IPv4 decimal válida junto con el total. El analizador valida los cuatro octetos, descarta coincidencias parciales engañosas y conserva los duplicados. Como funciona sin red, DNS, geolocalización, azar ni dependencias temporales, ofrece resultados repetibles para scripts, auditorías y diagnóstico.
Cómo se reconocen las direcciones IPv4 válidas
El extractor busca la notación IPv4 decimal con puntos: exactamente cuatro octetos decimales separados por puntos. Cada octeto debe ser un entero entre 0 y 255; por ello acepta direcciones como 192.168.1.10, 10.0.0.25 y 8.8.8.8, pero rechaza 256.1.1.1 y 192.168.1. Los octetos de varios dígitos con cero inicial también se rechazan, pues formas como 010 se han interpretado históricamente como octales.
Los límites de cada coincidencia son igualmente importantes: el analizador no extrae un fragmento plausible de una dirección incorrecta más larga, de una secuencia de cinco partes ni de un identificador unido a letras o cifras. La puntuación habitual de registros y textos, como paréntesis, comas, comillas, dos puntos y punto y coma, no impide encontrarla. El algoritmo realiza un recorrido lineal acotado y valida después los cuatro componentes.
No contacta con la dirección, no consulta DNS ni determina si el rango es público, privado o está asignado.
Cómo interpretar el resultado ordenado
Envíe un campo text con el registro, la configuración, la nota u otro texto que desee analizar. Las repeticiones se conservan deliberadamente: si una dirección aparece diez veces en un incidente, las diez apariciones pueden reflejar frecuencia y mantener la relación con la fuente. Si necesita un inventario único, elimine duplicados después.
Un texto sin direcciones válidas también es correcto y devuelve una matriz vacía con count igual a cero. El texto de origen no se devuelve, lo que reduce el resultado. La salida no añade nombres de host, países, ASN, puntuaciones de riesgo, puertos ni protocolos que puedan quedar obsoletos.
Uso en registros, configuraciones y operaciones
Los equipos de operaciones pueden pegar registros de proxy inverso, balanceador, SSH, cortafuegos o aplicaciones para separar los extremos de marcas de tiempo, rutas y mensajes. En una respuesta a incidentes, la lista ordenada puede alimentar un recuento de frecuencia, una comparación con listas autorizadas o un clasificador de rangos privados sin copiar direcciones a mano. Los equipos de plataforma pueden localizar extremos IPv4 codificados directamente antes de migrar servicios o renovar infraestructura.
Soporte puede estructurar notas de clientes y transcripciones de comandos; seguridad puede extraer indicadores de pruebas autorizadas y enviarlos después a herramientas adecuadas. Documentación y control de calidad obtienen además resultados deterministas para pruebas doradas de procesadores de registros y funciones de enmascarado. Recuerde que la extracción es sintáctica, no una decisión de confianza: una dirección puede ser privada, reservada, inaccesible, falsa o solo un ejemplo.
Tampoco se reconocen IPv6, prefijos CIDR como objetos completos, puertos independientes ni nombres de host. Mantener esas tareas fuera de esta capacidad permite que cada flujo aplique sus propias reglas de enriquecimiento, autorización y conservación.
Qué puede hacer con ella
Extraer extremos de registros de incidentes
Convierta salidas de proxy, cortafuegos o aplicaciones en una lista IPv4 ordenada para investigaciones autorizadas.
Localizar direcciones fijas en configuraciones
Revise configuraciones y notas de despliegue para encontrar extremos decimales antes de migraciones de infraestructura.
Preguntas frecuentes
¿Se validan los rangos de los octetos IPv4?
Sí. La coincidencia debe tener exactamente cuatro octetos decimales y cada uno debe estar entre 0 y 255.
¿Se eliminan las direcciones IP duplicadas?
No. Se devuelve cada aparición en el orden original. Elimine duplicados después si necesita valores únicos.
¿Extrae direcciones IPv6, puertos o bloques CIDR?
Solo extrae la parte IPv4 en notación decimal válida. No devuelve IPv6, puertos ni prefijos CIDR como campos separados.
¿Comprueba si una dirección es pública o accesible?
No. Es un analizador sintáctico determinista sin red. La accesibilidad, propiedad, geolocalización y clasificación requieren otras herramientas.
¿Por qué se rechaza una dirección con un cero inicial, como 010?
Porque algunos programas han leído históricamente una parte como 010 como número octal, así que su significado es ambiguo. Solo cuentan partes decimales simples de 0 a 255, y así cada dirección extraída es inequívoca.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/str/extract-ip-addresses \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Proxy 192.168.1.10 forwarded to 10.0.0.25; health check: 8.8.8.8."}'const res = await fetch("https://api.kit.forhosting.com/str/extract-ip-addresses", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Proxy 192.168.1.10 forwarded to 10.0.0.25; health check: 8.8.8.8."
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/extract-ip-addresses",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Proxy 192.168.1.10 forwarded to 10.0.0.25; health check: 8.8.8.8."
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/extract-ip-addresses", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Proxy 192.168.1.10 forwarded to 10.0.0.25; health check: 8.8.8.8."}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Proxy 192.168.1.10 forwarded to 10.0.0.25; health check: 8.8.8.8."}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/extract-ip-addresses", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"text": "Proxy 192.168.1.10 forwarded to 10.0.0.25; health check: 8.8.8.8."
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.extract_ip_addresses",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Cómo se reconocen las direcciones IPv4 válidas
Esa separación garantiza el mismo JSON con independencia de la conexión, la ubicación o la hora de ejecución.
Cómo interpretar el resultado ordenado
La respuesta correcta contiene ip_addresses, una matriz de cadenas en el orden original, y count, el número de elementos. Si falta text, no es una cadena, está vacío o supera el límite documentado, se produce invalid_input; así su integración distingue una solicitud incorrecta de un documento válido sin coincidencias. Cada elemento procesado por API usa la base publicada de $0.002; el navegador aplica la misma lógica pura localmente.
Casos de integración
Estructurar pruebas de soporte y calidad
Transforme transcripciones y notas en JSON predecible para pruebas, importaciones y diagnósticos repetibles.
Preguntas técnicas
¿Qué ocurre si el texto no contiene direcciones IPv4?
La solicitud termina correctamente con ip_addresses como matriz vacía y count igual a cero.