IP-Adressen aus Text extrahieren
Fügen Sie eine Zeile mit 192.168.1.10, 10.0.0.25, 8.8.8.8 und erneut 10.0.0.25 ein: Alle 4 kommen in Reihenfolge zurück, 999.1.2.3 dagegen nicht, weil kein Teil über 255 liegen darf. Keine Adresse wird abgefragt oder kontaktiert. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Der IPv4-Adressen-Extraktor wandelt unstrukturierten Text in eine geordnete Liste von Netzwerkadressen um. Fügen Sie ein Serverprotokoll, einen Konfigurationsausschnitt, eine Vorfallsnotiz, eine Befehlsausgabe oder eine Supportnachricht ein. Sie erhalten jedes gültige IPv4-Vorkommen in Dezimalschreibweise sowie die Gesamtzahl. Der Parser prüft alle vier Oktette, verwirft irreführende Teiltreffer und behält Wiederholungen bei. Ohne Netzwerk, DNS, Geolokalisierung, Zufall oder Uhrzeit entstehen reproduzierbare Ergebnisse für Skripte, Audits, Tests und Fehleranalysen.
So werden gültige IPv4-Adressen erkannt
Der Extraktor sucht nach punktierter IPv4-Dezimalschreibweise: genau vier durch Punkte getrennte Dezimaloktette. Jedes Oktett muss eine ganze Zahl von 0 bis 255 sein. Deshalb werden 192.168.1.10, 10.0.0.25 und 8.8.8.8 akzeptiert, 256.1.1.1 und 192.168.1 jedoch nicht.
Mehrstellige Oktette mit führender Null werden ebenfalls abgelehnt, da Schreibweisen wie 010 von manchen Programmen historisch als Oktalzahl interpretiert wurden. Auch die Treffergrenzen sind wichtig: Der Parser schneidet keinen scheinbar gültigen Teil aus einer längeren fehlerhaften Adresse, einer fünfteiligen Punktfolge oder einer direkt an Buchstaben oder Ziffern grenzenden Kennung heraus. Übliche Satzzeichen in Protokollen und Texten wie Klammern, Kommas, Anführungszeichen, Doppelpunkte und Semikolons verhindern einen Treffer nicht.
Der Algorithmus durchsucht den begrenzten Text linear und prüft anschließend die vier kleinen Bestandteile. Er kontaktiert keine Adresse, fragt kein DNS ab und entscheidet nicht, ob ein Bereich öffentlich, privat oder zugewiesen ist.
So lesen Sie das geordnete Ergebnis
Senden Sie im Feld text das Protokoll, die Konfiguration, die Notiz oder einen anderen zu untersuchenden Text. Wiederholungen bleiben absichtlich erhalten. Taucht eine Adresse in einem Vorfallsprotokoll zehnmal auf, können diese zehn Vorkommen die Häufigkeit ausdrücken und den Bezug zur Quelle bewahren; für eine eindeutige Bestandsliste können Sie das Array anschließend deduplizieren.
Ein Text ohne gültige Adresse ist ebenfalls eine erfolgreiche Extraktion und liefert ein leeres Array mit count gleich null. Integrationen können dadurch eine ungültige Anfrage von einem gültigen Dokument ohne Treffer unterscheiden. Der Quelltext wird nicht zurückgegeben, damit die Antwort kompakt bleibt.
Hostnamen, Länder, ASN, Risikowerte, Ports und Protokolle werden nicht ergänzt.
Einsatz in Logs, Konfigurationen und Betrieb
Betriebsteams können Reverse-Proxy-, Load-Balancer-, SSH-, Firewall- und Anwendungsprotokolle einfügen, um Endpunkte von Zeitstempeln, Pfaden und Meldungen zu trennen. Bei einem Vorfall kann die geordnete Liste eine Häufigkeitszählung, einen Abgleich mit einer Zulassungsliste oder eine Klassifizierung privater Bereiche speisen, ohne dass Adressen von Hand kopiert werden. Plattformteams finden fest codierte IPv4-Endpunkte vor einer Dienstmigration oder Infrastrukturänderung.
Der Support strukturiert Kundennotizen und Befehlstranskripte; Sicherheitsanalysten extrahieren Indikatoren aus autorisierten Belegen und übergeben sie anschließend geeigneten Werkzeugen. Dokumentation und Qualitätssicherung erhalten außerdem ein deterministisches Ergebnis für Referenztests von Log-Parsern und Maskierungsfunktionen. Die Extraktion ist syntaktisch und keine Vertrauensentscheidung: Eine Adresse kann privat, reserviert, unerreichbar, gefälscht oder nur ein Beispiel sein.
IPv6, vollständige CIDR-Objekte, getrennte Ports und Hostnamen werden ebenfalls nicht erkannt. Die Trennung dieser Aufgaben hält das Verhalten vorhersehbar und lässt jedem Ablauf die passenden Regeln für Anreicherung, Autorisierung und Aufbewahrung.
Anwendungsfälle
Endpunkte aus Vorfallsprotokollen extrahieren
Wandeln Sie Proxy-, Firewall- oder Anwendungsausgaben für autorisierte Untersuchungen in eine geordnete IPv4-Liste um.
Fest codierte Konfigurationsadressen finden
Prüfen Sie Konfigurationen und Bereitstellungsnotizen vor Migrationen oder Infrastrukturänderungen.
Häufige Fragen
Werden die Wertebereiche der IPv4-Oktette geprüft?
Ja. Ein Treffer benötigt genau vier Dezimaloktette, die jeweils zwischen 0 und 255 liegen.
Werden doppelte IP-Adressen entfernt?
Nein. Jedes Vorkommen wird in ursprünglicher Reihenfolge ausgegeben. Deduplizieren Sie danach, falls Sie eindeutige Werte benötigen.
Extrahiert das Werkzeug IPv6, Ports oder CIDR-Blöcke?
Es extrahiert nur den gültigen dezimalen IPv4-Teil. IPv6, Ports und CIDR-Präfixe erscheinen nicht als eigene Felder.
Prüft es, ob eine Adresse öffentlich oder erreichbar ist?
Nein. Der deterministische Syntaxparser nutzt kein Netzwerk. Erreichbarkeit, Eigentum, Geolokalisierung und Klassifizierung erfordern andere Werkzeuge.
Warum wird eine Adresse mit führender Null wie 010 abgelehnt?
Weil manche Software einen Teil wie 010 früher als Oktalzahl gelesen hat und seine Bedeutung deshalb mehrdeutig ist. Es zählen nur einfache Dezimalteile von 0 bis 255, damit jede gefundene Adresse eindeutig ist.
Verwandte Tools
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem 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)Beispiel-Anfrage
{
"text": "Proxy 192.168.1.10 forwarded to 10.0.0.25; health check: 8.8.8.8."
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.extract_ip_addresses",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
Technische Hinweise
So werden gültige IPv4-Adressen erkannt
Dieser enge Vertrag liefert unabhängig von Verbindung, Standort und Ausführungszeit stets dasselbe JSON.
So lesen Sie das geordnete Ergebnis
Die Antwort enthält ip_addresses als Array von Zeichenfolgen in ursprünglicher Reihenfolge und count als Anzahl der Elemente. Fehlt text, ist der Wert keine Zeichenfolge, ist er leer oder überschreitet er die dokumentierte Grenze, entsteht invalid_input. Automatisierte Aufrufe verwenden den veröffentlichten Grundpreis von $0.002 je erfolgreichem Element; der Browser führt dieselbe reine Logik lokal aus.
Integrationsbeispiele
Support- und QA-Belege strukturieren
Überführen Sie Transkripte und Notizen für Tests, Importe und reproduzierbare Diagnosen in vorhersagbares JSON.
Technische Fragen
Was geschieht, wenn der Text keine IPv4-Adresse enthält?
Die Anfrage ist erfolgreich und liefert ip_addresses als leeres Array sowie count gleich null.