Estrarre indirizzi IP dal testo
Incolli una riga con 192.168.1.10, 10.0.0.25, 8.8.8.8 e di nuovo 10.0.0.25: tornano tutti e 4 in ordine, mentre 999.1.2.3 viene scartato perché nessuna parte può superare 255. Nessun indirizzo viene interrogato o contattato. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
L’estrattore di indirizzi IPv4 trasforma testo non strutturato in un elenco ordinato di indirizzi di rete. Incolli un log del server, una configurazione, una nota sull’incidente, l’output di un comando o un messaggio di assistenza e otterrà tutte le occorrenze IPv4 decimali valide con il conteggio totale. Il parser verifica i quattro ottetti, rifiuta corrispondenze parziali ingannevoli e conserva i duplicati. Poiché non usa rete, DNS, geolocalizzazione, casualità o orologio, offre risultati ripetibili per script, audit, test e diagnosi.
Come vengono riconosciuti gli indirizzi IPv4 validi
L’estrattore cerca la notazione IPv4 decimale puntata: esattamente quattro ottetti decimali separati da punti. Ogni ottetto deve essere un intero compreso tra 0 e 255; quindi accetta 192.168.1.10, 10.0.0.25 e 8.8.8.8, ma respinge 256.1.1.1 e 192.168.1. Vengono rifiutati anche gli ottetti con più cifre e uno zero iniziale, perché forme come 010 sono state storicamente interpretate in ottale da alcuni software.
I confini della corrispondenza sono altrettanto importanti: il parser non ritaglia un frammento plausibile da un indirizzo errato più lungo, da una sequenza di cinque parti o da un identificatore attaccato a lettere o numeri. La punteggiatura tipica di log e testo, tra cui parentesi, virgole, virgolette, due punti e punti e virgola, non ostacola il riconoscimento. L’algoritmo esegue una scansione lineare limitata e convalida poi i quattro componenti.
Non contatta l’indirizzo, non interroga il DNS e non stabilisce se l’intervallo sia pubblico, privato o assegnato.
Come leggere il risultato ordinato
Invii un campo text contenente il log, la configurazione, la nota o altro testo da analizzare. Le ripetizioni vengono mantenute intenzionalmente. Se un indirizzo compare dieci volte in un incidente, le dieci occorrenze possono esprimere la frequenza e preservare il rapporto con la fonte; se desidera un inventario unico, rimuova i duplicati in seguito.
Anche un testo privo di indirizzi validi è un’estrazione riuscita e restituisce un array vuoto con count pari a zero. Il testo sorgente non viene ripetuto, così la risposta resta compatta. Non vengono aggiunti hostname, paesi, ASN, punteggi di rischio, porte o protocolli destinati a diventare obsoleti.
Impiego in log, configurazioni e operazioni
Durante un incidente, l’elenco ordinato può alimentare un conteggio delle frequenze, un confronto con una allowlist o una classificazione delle reti private senza copie manuali. L’assistenza può strutturare note dei clienti e trascrizioni di comandi; gli analisti della sicurezza possono estrarre indicatori da prove autorizzate e passarli a strumenti appropriati. L’estrazione è sintattica, non una decisione di affidabilità: un indirizzo può essere privato, riservato, irraggiungibile, falsificato o soltanto un esempio.
Non vengono riconosciuti IPv6, prefissi CIDR come oggetti completi, porte separate o hostname. Separare tali responsabilità mantiene prevedibile il comportamento e permette a ogni flusso di scegliere regole adeguate di arricchimento, autorizzazione e conservazione.
Casi d'uso
Trovare indirizzi fissi nelle configurazioni
Esamini configurazioni e note di distribuzione prima di migrazioni o modifiche dell’infrastruttura.
Domande frequenti
Vengono convalidati gli intervalli degli ottetti IPv4?
Sì. Una corrispondenza deve avere quattro ottetti decimali, ognuno compreso tra 0 e 255.
Gli indirizzi IP duplicati vengono rimossi?
No. Ogni occorrenza viene restituita nell’ordine originale. Rimuova poi i duplicati se desidera valori unici.
Estrae IPv6, porte o blocchi CIDR?
Estrae solo la parte IPv4 decimale valida. IPv6, porte e prefissi CIDR non sono restituiti come campi separati.
Controlla se un indirizzo è pubblico o raggiungibile?
No. È un parser sintattico deterministico senza rete. Raggiungibilità, proprietà, geolocalizzazione e classificazione richiedono altri strumenti.
Perché un indirizzo con uno zero iniziale, come 010, viene rifiutato?
Perché alcuni programmi in passato hanno letto una parte come 010 come numero ottale, quindi il suo significato è ambiguo. Valgono solo parti decimali semplici da 0 a 255, così ogni indirizzo estratto è inequivocabile.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo 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)Esempio di richiesta
{
"text": "Proxy 192.168.1.10 forwarded to 10.0.0.25; health check: 8.8.8.8."
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.extract_ip_addresses",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Come vengono riconosciuti gli indirizzi IPv4 validi
Questo contratto ristretto produce sempre lo stesso JSON, indipendentemente da connessione, luogo e orario.
Come leggere il risultato ordinato
La risposta contiene ip_addresses, un array di stringhe nell’ordine originale, e count, il numero degli elementi. Un campo text mancante, non testuale, vuoto o oltre il limite documentato genera invalid_input, consentendo di distinguere una richiesta errata da un documento valido senza risultati. Per le chiamate automatizzate, la base pubblicata è $0.002 per elemento riuscito; il browser esegue localmente la medesima logica pura.
Impiego in log, configurazioni e operazioni
I team operativi possono incollare log di reverse proxy, bilanciatori, SSH, firewall e applicazioni per separare gli endpoint da timestamp, percorsi e messaggi. I team di piattaforma individuano endpoint IPv4 codificati direttamente prima di migrare servizi o rinnovare l’infrastruttura.
Casi di integrazione
Estrarre endpoint dai log degli incidenti
Trasformi output di proxy, firewall o applicazioni in un elenco IPv4 ordinato per indagini autorizzate.
Strutturare prove di assistenza e QA
Converta trascrizioni e note in JSON prevedibile per test, importazioni e diagnosi ripetibili.
Domande tecniche
Che cosa accade se il testo non contiene indirizzi IPv4?
La richiesta riesce con ip_addresses impostato su un array vuoto e count pari a zero.