Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
OSIPs — Un script Python qui collecte toutes les adresses IP valides à partir de tous les fichiers texte d'un répertoire, et les vérifie par rapport à la base de données Whois, aux relais TOR et à la localisation. | Kitploit
Outils/GitHubGitHub/ciprianster/osips
OSINT (Renseignement de Sources Ouvertes)Collecte d'InformationsSécurité RéseauRenseignement sur les Menaces
GitHubciprianster/osips

OSIPs

Un script Python qui collecte toutes les adresses IP valides à partir de tous les fichiers texte d'un répertoire, et les vérifie par rapport à la base de données Whois, aux relais TOR et à la localisation.

Voir le dépôt
295il y a 4 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

OSIPs

Ce script analyse chaque fichier d'un dossier donné de manière récursive, extrait toutes les adresses IPv4 et IPv6, filtre les adresses IP publiques, puis interroge ces IP auprès des relais TOR, du service WhoIs et du service de localisation. Il produit 4 fichiers : un fichier CSV et un fichier JSON avec tous les détails des adresses IP, un fichier CSV contenant un index de chaque adresse IP trouvée et un fichier KML avec toutes les localisations collectées.

Fonctionnalités

  • Analyse un nombre quelconque de fichiers en une seule exécution
  • Peut également être exécuté pour un seul fichier d'entrée
  • Extrait toutes les adresses IPv4 et IPv6 valides uniques (en comparant correctement deux adresses, même si elles sont écrites différemment)
  • Collecte les informations Who Is publiquement disponibles pour toutes les adresses IP publiques
  • Interroge toutes les adresses IP publiques auprès des relais TOR
  • Collecte les informations de localisation géographique pour toutes les adresses IP publiques
  • Peut être exécuté avec des paramètres en ligne de commande en mode non interactif pour une intégration facile dans d'autres scripts
  • Peut être exécuté sans paramètres et les valeurs d'entrée peuvent être fournies de manière interactive
  • Permet à l'utilisateur de sélectionner les étapes à effectuer ou à exclure
  • Affiche de manière verbeuse les informations sur la console à chaque étape effectuée
  • Exporte tous les détails des adresses IP à la fois dans un fichier CSV et un fichier JSON
  • Exporte un fichier KML pouvant être facilement chargé sur une carte
  • Conserve un index de toutes les adresses IP trouvées dans un fichier CSV séparé pour une traçabilité facile

Prérequis :

Python 3.9.x

Installation

Pour installer les dépendances, exécutez :

pip install -r requirements.txt

Compiler en exécutable

pip install pyinstaller

pyinstaller --onefile osips.py

Utilisation

python osips.py [-h] [-F INPUTFOLDER] [-f INPUTFILE] [-p INPUTFILESPATTERN] [-o OUTPUTFILESNAME] [-t {y,n,Y,N}] [-w {y,n,Y,N}] [-l {y,n,Y,N}] [-locationEndpoint LOCATIONENDPOINT]

Mode interactif

python osips.py

Mode non interactif

python osips.py --checkTor Y --checkWhoIs Y --checkLocations Y --inputFolder testFolder/ --inputFilesPattern * --outputFilesName test

Aide

python osips.py -h

Options

  • -h, --help Affiche le message d'aide et quitte
  • -F INPUTFOLDER, --inputFolder INPUTFOLDER Un dossier contenant des fichiers avec des IP (fichiers journaux, fichiers email, fichiers texte, etc.). Les IP peuvent être IPv4 et/ou IPv6 et peuvent être placées n'importe où dans les fichiers. Le script analysera chaque fichier du dossier et recherchera chaque IP.
  • -f INPUTFILE, --inputFile INPUTFILE Utilisez cette option pour analyser un seul fichier au lieu d'un dossier contenant des fichiers. Le fichier peut être n'importe quel fichier texte contenant des adresses IP (fichiers journaux, fichiers email, fichiers texte, etc.).
  • -p INPUTFILESPATTERN, --inputFilesPattern INPUTFILESPATTERN Saisissez le motif à utiliser pour les fichiers dans le dossier d'entrée. Exemple : * pour tous les fichiers, *.txt pour les fichiers texte.
  • -o OUTPUTFILESNAME, --outputFilesName OUTPUTFILESNAME Le nom des fichiers de sortie, SANS EXTENSION. 4 fichiers différents seront créés avec ce nom : un fichier CSV stockant les détails des IP, un fichier d'index stockant les index des IP, un fichier JSON stockant les détails et un fichier KML stockant les localisations.
  • -t {y,n,Y,N}, --checkTor {y,n,Y,N} Spécifiez si vous voulez vérifier chaque adresse IP publique par rapport aux adresses IP des relais TOR
  • -w {y,n,Y,N}, --checkWhoIs {y,n,Y,N} Spécifiez si vous voulez extraire les informations WhoIs pour chaque adresse IP publique
  • -l {y,n,Y,N}, --checkLocations {y,n,Y,N} Spécifiez si vous voulez géocoder chaque adresse IP publique et extraire les informations de localisation en utilisant

Remarques

  • L'outil extrait les adresses IPv4 uniquement en notation décimale pointée (xxx.xxx.xxx.xxx). Il n'extrait pas les adresses IPv4 en notation décimale, octale ou hexadécimale en raison du taux élevé de faux positifs.
  • En fonction du nombre d'adresses IP publiques trouvées, l'interrogation des services en ligne peut prendre beaucoup de temps. Si vous traitez un grand nombre d'adresses IP, il est recommandé d'exécuter d'abord l'outil sans interroger aucun des services et simplement extraire les adresses IP. Après avoir vu le résultat de l'extraction, vous pouvez estimer le temps d'exécution total de l'outil si les services sont interrogés, et éventuellement choisir de n'interroger qu'un ou deux des services.
  • Les relais TOR sont vérifiés au moment de l'exécution de l'outil. Comme ces IP changent constamment, cette information peut ne pas être très précise. Si une date peut également être identifiée pour une IP, elle doit alors être vérifiée auprès d'ExoneraTor à cette adresse : https://metrics.torproject.org/exonerator.html
  • Les informations Who Is ainsi que les informations de localisation sont collectées en direct à partir de services publics, donc les adresses IP sont envoyées à ces services. Il existe des bases de données téléchargeables qui vous permettraient de collecter ces informations localement, mais ces téléchargements ne sont pas gratuits et nécessiteraient des mises à jour constantes. Cet outil n'est pas conçu pour fonctionner avec des bases de données locales.
  • Le service par défaut utilisé pour la collecte de localisation est https://reallyfreegeoip.org. Il s'agit d'un service gratuit sans limitation, mais il peut ne pas être très précis. Vous pouvez changer ce service pour un autre, en utilisant le paramètre -locationEndpoint du script. Vous pouvez fournir un autre service qui prend une adresse IP comme paramètre et renvoie une réponse JSON. Utilisez <IP> comme paramètre pour l'emplacement de l'adresse IP. Exemples : https://ipapi.co//json, https://api.ipstack.com/?access_key=ACCESS_KEY, https://freeapi.robtex.com/ipquery/. Veuillez noter que certains de ces autres points de terminaison REST peuvent ne pas renvoyer les champs requis et donc casser la logique du script. Dans ce cas, la méthode nommée RequestInfoFromRestEndpoint doit être modifiée en conséquence.

Remerciements

  • IPv6 regex - https://gist.github.com/dfee/6ed3a4b05cfe7a6faf40a2102408d5d8
  • Onion Peeler : Programme de recherche TOR par lot - http://az4n6.blogspot.com/2017/02/onion-peeler-batch-tor-lookup-program.html
Télécharger l’outil
https://reallyfreegeoip.org
  • -locationEndpoint LOCATIONENDPOINT Le point de terminaison REST par défaut pour la localisation est "https://reallyfreegeoip.org/json/". Vous pouvez spécifier un point de terminaison différent, incluant le paramètre . Le résultat doit être au format JSON et doit inclure les champs suivants : country_name, region_code, region_name, city, zip_code, time_zone, latitude, longitude, metro_code