9 votes

Trouver la géolocalisation à partir d'une adresse IP

Comment puis-je trouver un lieu tel que la ville/l'État ou le pays à partir d'une adresse IP ?

Existe-t-il une gemme Ruby ou un module Python pour faire cela ? Ou bien, existe-t-il un site web qui dispose d'une API ?

10voto

Ben Dowling Points 392

Vous pourriez utiliser le http://ipinfo.io API pour cela :

$ curl ipinfo.io/8.8.8.8
{
  "ip": "8.8.8.8",
  "hostname": "google-public-dns-a.google.com",
  "city": "Mountain View",
  "region": "California",
  "country": "US",
  "loc": "37.3860,-122.0838",
  "org": "AS15169 Google Inc.",
  "postal": "94040"
}

Si un seul champ vous intéresse, vous pouvez l'ajouter à l'URL pour l'obtenir en texte brut :

$ curl ipinfo.io/8.8.8.8/loc
37.3860,-122.0838

$ curl ipinfo.io/8.8.8.8/country
US

Si vous recherchez un module Python https://github.com/juanpabloaj/pyipinfo est une simple enveloppe, ou http://geocoder.readthedocs.org/en/stable/ est plus complet et possède un support intégré pour ipinfo.io et d'autres fournisseurs.

2voto

Oui, vous pouvez trouver la ville, l'état ou le pays d'une adresse IP en utilisant une API de géolocalisation IP. Je connais plusieurs sites web offrant de tels services aux entreprises ou aux particuliers curieux comme vous et moi.

Cependant, tout ce qui est disponible sur le marché présente des caractéristiques différentes. Vous devez donc les vérifier soigneusement avant de choisir le logiciel qui répondra à vos besoins. En ce qui concerne les langages de programmation que vous avez mentionnés, normalement le Les meilleures API de géolocalisation IP prendre en charge plusieurs langages de programmation, dont Ruby et Python.

Vous avez également spécifié des détails tels que la ville, l'état ou le pays. Quelle que soit l'API que vous choisissez, ces points de données géographiques seront certainement en tête des résultats de sortie lorsque vous ferez une requête. Mais les API de géolocalisation IP fournissent généralement plus de détails, comme le fuseau horaire et le code postal, qui sont importants si vous souhaitez vous faire une idée plus précise de l'adresse IP que vous géolocalisez.

Voici les API que j'utilise personnellement.

https://geoipify.whoisxmlapi.com/

Cette API permet de trouver la géolocalisation d'une adresse IP ( Vérifiez l'échantillon de sortie ici ) à partir de plus de 9,5 millions de blocs IP dans 250 pays. À mon avis, ce nombre devrait être suffisant pour inclure la quasi-totalité des adresses IP connues actuellement utilisées.

Ce fournisseur dispose également d'une base de données de géolocalisation qui contient des adresses IPv4 et IPv6 avec plus de 340 000 emplacements dans plus de 120 000 villes du monde entier. Ce que j'aime, c'est qu'elle est mise à jour chaque semaine et peut être téléchargée au format CSV ou JSON.

Avant de faire une demande, vous aurez besoin d'une clé API personnelle que vous pouvez obtenir sur la page "Mes produits" du site web. Pour effectuer une recherche de localisation, vous avez la possibilité de saisir l'adresse IPv4 ou IPv6, le nom de domaine ou l'adresse électronique de votre cible.

Les résultats de la recherche contiendront le pays, la région, la ville, la latitude, la longitude, le code postal, le fuseau horaire, le FAI, le tableau des domaines, le numéro du système autonome, le nom du système, la route du système API et l'URL du site Web du système autonome.

Ils sont affichés dans le format JSON par défaut, bien que vous ayez le choix de les avoir en JSON ou en XML. La compatibilité du système ne devrait pas poser de problème, car la sortie prend en charge 9 langages de programmation, dont Ruby et Python.

Si vous avez besoin de faire plusieurs demandes de géolocalisation, il existe également un service en ligne de recherche groupée de géolocalisation d'adresses IP qui prétend vous permettre de vérifier jusqu'à 100 000 adresses IP en une seule fois.

https:// https://geo.ipify.org/

Le deuxième fournisseur que j'utilise prétend offrir une géolocalisation en temps réel à partir de plus de 8 millions de blocs IP provenant de 250 pays.

Ils disposent également d'une base de données de géolocalisation des adresses IP qui contient près de 5 millions d'enregistrements cumulés de la quasi-totalité des adresses IP existantes ( Vérifiez l'échantillon de sortie ici ). Il est mis à jour tous les mois et peut être téléchargé dans un fichier zippé de 40 Mo.

Une demande de recherche nécessite une clé API personnelle que vous pouvez obtenir sur la page d'abonnement de ce fournisseur. Pour effectuer une recherche de localisation, vous devez saisir l'adresse IPv4 de votre cible.

Le résultat de la requête indique la localisation précise de la cible, notamment le pays, la région, la ville, la latitude, la longitude, le code postal et le fuseau horaire. Le résultat peut être affiché au format XML ou JSON.

L'API prend également en charge 9 langages de programmation, à savoir Javascript, C#, Java, PHP, NodeJS, Perl, PowerShell, ainsi que Python et Ruby.

Trouver la ville, l'état ou le pays d'une adresse IP est facile si vous utilisez une API de géolocalisation IP. Toutefois, n'oubliez pas que votre choix doit être en mesure de fournir une couverture étendue et une compatibilité avec le langage de programmation pour pouvoir vous donner ce que vous recherchez. Geoipify.whoisxmlapi.com et Geo.Ipfy peuvent certainement vous aider à cet égard.

1voto

KCotreau Points 25345

Vous pouvez aller ici... Tout service de ce type n'est qu'une estimation approximative pour N'IMPORTE QUELLE adresse IP, mais c'est ce que vous recherchez.

http://www.geobytes.com/iplocator.htm (il suffit de saisir l'"Adresse IP à localiser" et de cliquer sur "Envoyer").

0voto

kokbira Points 5117

Si vous voulez voir une géolocalisation à partir d'un site web sur lequel vous naviguez facilement, vous devez installer Module complémentaire Flagfox pour Firefox : vous verrez un drapeau près de la barre d'adresse et en cliquant dessus, vous obtiendrez plus d'informations (ville, IP...).

Vous pouvez également utiliser http://geo.flagfox.net pour voir les mêmes détais pour n'importe quelle adresse IP ou nom de serveur.

0voto

Fabien Points 1

Hostip.info est un projet open-source dont le but est de construire/maintenir une base de données reliant les adresses IP aux villes. Leur page d'accueil explique les sources de données utilisées pour alimenter cette base.

Avec HostIP, il existe deux façons d'obtenir des données de localisation à partir d'une adresse IP :

Ils disposent également d'une API RESTFUL bien conçue et facile à utiliser : il vous suffit d'indiquer votre adresse IP après l'i p= dans la chaîne de requête GET) :

import urllib

response = urllib.urlopen('http://api.hostip.info/get_html.php?ip=12.215.42.19&position=true').read()

print(response)

Deuxièmement, le site web du projet fait également son base de données complète disponible pour le téléchargement .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X