Vous êtes-vous déjà demandé comment localiser une adresse IP à l’aide de python ? Que ce soit pour des raisons de sécurité, d’analyse ou tout simplement par curiosité technologique, il peut être intéressant de connaître la localisation géographique exacte d’une adresse IP. Cet article vous emmènera étape par étape dans le processus de localisation d’une adresse IP avec le langage python.
Introduction à la géolocalisation IP
La géolocalisation IP est une technique permettant de déterminer la position géographique approximative d’un appareil connecté à Internet grâce à son adresse IP. Cette méthode repose sur des bases de données qui associent les plages d’adresses IP à des informations géographiques comme le pays, la région, et même parfois la ville.
Pour réaliser cette opération en utilisant python, on peut se servir de bibliothèques spécialisées ou d’apis en ligne capables de fournir ces informations. Les deux méthodes ont leurs avantages et inconvénients, que nous allons aborder plus loin.
Utiliser une bibliothèque de géolocalisation en python

Introduction au module geopy
Geopy est une bibliothèque python bien connue permettant la géocodage (traduction d’adresses physiques en coordonnées GPS) et la géolocalisation IP. Pour commencer, assurez-vous d’avoir installé cette bibliothèque en exécutant la commande suivante dans votre terminal :
pip install geopy
Une fois installée, vous pouvez utiliser geopy pour localiser une adresse IP facilement.
Exemple de code avec geopy
Voici un exemple simple de script python utilisant geopy pour récupérer des informations de localisation à partir d’une adresse IP :
from geopy.geocoders import Nominatimdef localiser_adresse_ip(adresse_ip) : geolocator = Nominatim(user_agent="geoapi") location = geolocator.geocode(adresse_ip) if location : print(f"Adresse IP : {adresse_ip}") print(f"Localisation : {location.address}") print(f"Latitude : {location.latitude}, Longitude : {location.longitude}") else : print("Localisation non trouvée")adresse_ip = "8.8.8.8"localiser_adresse_ip(adresse_ip)
Ce script utilise un géocodeur, ici Nominatim, pour convertir une adresse IP en informations de localisation. Bien qu’efficace, cette méthode a ses limites car certaines API comme Nominatim ne sont pas directement conçues pour la géolocalisation d’adresses IP.
Composants supplémentaires nécessaires
Outre geopy, plusieurs autres modules peuvent venir compléter votre boîte à outils python pour la localisation IP. En voici quelques-uns :
- ipaddress : Ce module intégré au standard python permet de manipuler et analyser des adresses IPv4 et IPv6.
- requests : Utilisé pour envoyer des requêtes HTTP/HTTPS afin de récupérer des données auprès d’APIs tierces.
- json : Ce module permet de manipuler les objets JSON renvoyés par certaines APIs de géolocalisation.
Utiliser une API externe pour la géolocalisation IP
Présentation de l’API ipstack
Ipstack est une API populaire permettant de récupérer rapidement des informations détaillées sur une adresse IP, y compris sa localisation géographique. Pour utiliser cette API, vous devez d’abord vous inscrire et obtenir une clé API personnelle.
Une fois que vous avez votre clé API, utilisez le code suivant pour intégrer ipstack à votre projet python :
import requestsdef localiser_adresse_ip_avec_ipstack(adresse_ip, api_key) : url = f"http://api.ipstack.com/{adresse_ip}?access_key={api_key}" response = requests.get(url) data = response.json() if 'error' not in data : print(f"Adresse IP : {adresse_ip}") print(f"Ville : {data['city']}") print(f"Région : {data['region_name']}") print(f"Pays : {data['country_name']}") print(f"Latitude : {data['latitude']}, Longitude : {data['longitude']}") else : print("Erreur : La localisation n'a pas pu être déterminée.")# Remplacez 'YOUR_API_KEY' par votre clé API réelleapi_key = 'YOUR_API_KEY'adresse_ip = "8.8.8.8"localiser_adresse_ip_avec_ipstack(adresse_ip, api_key)
Avec ce type d’API, vous obtenez des réponses précises et rapides car elles utilisent des bases de données constamment mises à jour et souvent plus fiables que celles offertes par des modules locaux.
Avantages et limitations des APIs tierces
- Avantages :
- Données en temps réel et régulièrement mises à jour.
- Large couverture géographique et précision accrue.
- Simplicité d’intégration via requêtes HTTP.
- Limitations :
- Requiert une connexion internet stable.
- Des frais potentiels selon le plan tarifaire de l’API choisie.
- Dépendance vis-à-vis d’un service externe pour les données.
Les outils de scanner IP et leur utilité

L’utilisation de scanneurs IP
Pour aller plus loin dans l’analyse réseau, il peut être utile d’utiliser un scanner IP. Ces outils permettent de scanner une plage d’adresses IP pour identifier les appareils actifs ainsi que leurs informations de base comme l’adresse MAC, le fabricant du matériel et parfois des détails géographiques.
Un des scanneurs IP les plus connus est nmap, qui fonctionne aussi bien sur Windows que sur Linux :
import osdef scanner_ip(plage_ip) : # Supposons que nmap est bien installé sur votre système command = f"nmap -sP {plage_ip}" os.system(command)# Exemple de scan sur une plage d'adresse IP privéeplage_ip = "192.168.1.1-254"scanner_ip(plage_ip)
Nmap fournit une analyse très complète des réseaux locaux et peut accompagner des tâches de diagnostic réseau ainsi que des missions de sécurité informatique.
Outils complémentaires pour la localisation géographique
Outre nmap, d’autres outils dédiés permettent d’affiner encore plus vos investigations, notamment ceux centrés sur les adresses MAC et données spécifiques aux fabricants. Par ailleurs, quelques services en ligne peuvent automatiser ces processus pour faciliter vos recherches.
Outil | Fonctionnalité |
---|---|
Wireshark | Analyse approfondie du trafic réseau |
Angry IP Scanner | Scanner multi-plateformes pour des scans rapides et intuitifs |
SolarWinds IP Address Manager | Gestion centralisée des adresses IP et alertes automatiques |
Ces outils complémentaires viennent enrichir votre boîte à outils en matière de sécurité réseau et d’administration systèmes, vous offrant davantage de contrôle et de capacités d’analyse.
La capacité de localiser une adresse IP en utilisant python ouvre de nombreuses opportunités aussi bien pour les professionnels IT que pour les aficionados de technologie. Qu’il s’agisse d’utiliser des bibliothèques intégrées comme geopy ou de faire appel à des apis robustes comme ipstack, python fournit tous les moyens nécessaires pour accomplir cette tâche aisément. Ajoutez-y des outils annexes comme les scanneurs IP et vous obtenez une solution complète et polyvalente pour la gestion et l’analyse de votre réseau.