Extraire des adresses IP d’un texte
Collez une ligne avec 192.168.1.10, 10.0.0.25, 8.8.8.8 puis encore 10.0.0.25 : les 4 reviennent dans l'ordre, tandis que 999.1.2.3 est écartée, car aucune partie ne peut dépasser 255. Aucune adresse n'est interrogée ni contactée. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
L’extracteur d’adresses IPv4 transforme un texte non structuré en liste ordonnée d’adresses réseau. Collez un journal de serveur, un extrait de configuration, une note d’incident, une sortie de commande ou un message d’assistance pour obtenir chaque occurrence IPv4 décimale valide et leur nombre total. L’analyseur vérifie les quatre octets, écarte les correspondances partielles trompeuses et conserve les doublons. Sans réseau, DNS, géolocalisation, hasard ni horloge, il produit des résultats reproductibles pour vos scripts, audits, tests et diagnostics.
Reconnaissance des adresses IPv4 valides
L’extracteur recherche la notation IPv4 décimale pointée : exactement quatre octets décimaux séparés par des points. Chaque octet doit être un entier compris entre 0 et 255. Ainsi, 192.168.1.10, 10.0.0.25 et 8.8.8.8 sont acceptés, contrairement à 256.1.1.1 et 192.168.1.
Un octet de plusieurs chiffres commençant par zéro est également refusé, car certains logiciels ont historiquement interprété une forme comme 010 en octal. Les limites de la correspondance sont tout aussi importantes : l’analyseur ne prélève pas un fragment plausible dans une adresse incorrecte plus longue, une suite de cinq parties ou un identifiant accolé à des lettres ou chiffres. La ponctuation habituelle des journaux et de la prose — parenthèses, virgules, guillemets, deux-points et points-virgules — ne gêne pas la détection.
L’algorithme effectue un parcours linéaire borné, puis valide les quatre composants. Il ne contacte aucune adresse, n’interroge pas le DNS et ne décide pas si une plage est publique, privée ou attribuée.
Lecture du résultat d’extraction ordonné
Envoyez un champ text contenant le journal, la configuration, la note ou tout autre texte à analyser. Les répétitions sont volontairement conservées. Si une adresse figure dix fois dans un journal d’incident, ces dix occurrences peuvent exprimer une fréquence et garder le lien avec la source ; dédupliquez ensuite le tableau si vous souhaitez un inventaire unique.
Un texte sans adresse valide constitue aussi un succès et renvoie un tableau vide avec count égal à zéro. Le texte source n’est pas recopié, afin d’alléger la réponse. Aucun nom d’hôte, pays, ASN, score de risque, port ou protocole susceptible de vieillir n’est ajouté.
Exploitation dans les journaux et configurations
Les équipes d’exploitation peuvent coller des journaux de proxy inverse, répartiteur, SSH, pare-feu ou application afin d’isoler les points de terminaison des horodatages, chemins et messages. Pendant un incident, la liste ordonnée peut alimenter un comptage de fréquence, une comparaison avec une liste autorisée ou un classement des plages privées sans copie manuelle. Les équipes plateforme repèrent les adresses IPv4 codées en dur avant une migration de services ou un renouvellement d’infrastructure.
L’assistance structure les notes de clients et les transcriptions de commandes ; les analystes sécurité extraient des indicateurs de preuves autorisées avant de les transmettre à des outils adaptés. Les équipes documentation et qualité disposent aussi d’un résultat déterministe pour les tests de référence des analyseurs de journaux et fonctions de masquage. L’extraction reste syntaxique et ne constitue pas une décision de confiance : une adresse peut être privée, réservée, inaccessible, falsifiée ou simplement illustrative.
IPv6, les préfixes CIDR comme objets complets, les ports séparés et les noms d’hôte ne sont pas reconnus. Chaque processus peut ainsi appliquer ses propres règles d’enrichissement, d’autorisation et de conservation.
Cas d’usage
Extraire les points de terminaison d’un incident
Transformez les journaux de proxy, pare-feu ou application en liste IPv4 ordonnée pour une enquête autorisée.
Repérer les adresses codées en dur
Analysez configurations et notes de déploiement avant une migration ou une modification d’infrastructure.
Questions fréquentes
Les plages des octets IPv4 sont-elles validées ?
Oui. Une correspondance comporte exactement quatre octets décimaux, chacun compris entre 0 et 255.
Les adresses IP en double sont-elles supprimées ?
Non. Chaque occurrence est renvoyée dans l’ordre initial. Dédupliquez ensuite si vous souhaitez des valeurs uniques.
L’outil extrait-il IPv6, les ports ou les blocs CIDR ?
Il extrait uniquement la partie IPv4 décimale valide. IPv6, ports et préfixes CIDR ne deviennent pas des champs séparés.
Vérifie-t-il si une adresse est publique ou joignable ?
Non. Cet analyseur syntaxique déterministe n’utilise aucun réseau. La joignabilité, la propriété, la géolocalisation et le classement nécessitent d’autres outils.
Pourquoi une adresse avec un zéro initial, comme 010, est-elle refusée ?
Parce que certains logiciels ont longtemps lu une partie comme 010 comme un nombre octal : son sens est donc ambigu. Seules les parties décimales simples de 0 à 255 comptent, ce qui rend chaque adresse extraite sans équivoque.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre 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)Exemple de requête
{
"text": "Proxy 192.168.1.10 forwarded to 10.0.0.25; health check: 8.8.8.8."
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.extract_ip_addresses",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Reconnaissance des adresses IPv4 valides
Ce périmètre garantit un JSON identique quels que soient la connexion, le lieu et l’heure d’exécution.
Lecture du résultat d’extraction ordonné
La réponse contient ip_addresses, un tableau de chaînes dans l’ordre de la source, ainsi que count, le nombre d’éléments. Un champ text absent, non textuel, vide ou supérieur à la limite documentée déclenche invalid_input, ce qui distingue une requête erronée d’un document valide sans résultat. Pour l’automatisation, le tarif de base publié est de $0.002 par élément réussi ; le navigateur exécute localement la même logique pure.
Cas d'intégration
Structurer les preuves d’assistance et de qualité
Convertissez transcriptions et notes en JSON prévisible pour les tests, imports et diagnostics reproductibles.
Questions techniques
Que se passe-t-il si aucune adresse IPv4 n’est présente ?
La requête réussit avec un tableau ip_addresses vide et une valeur count égale à zéro.