La geolocalisation (ou tracking) IP consiste à obtenir la localisation d’une machine à partir de son adresse IP. On trouve facilement des sites permettant de déduire le pays d’origine à partir de l’adresse IP (mais une simple commande en ligne whois le fait aussi). Par contre, il est très difficile (voir impossible) de trouver des sites proposant gratuitement une localisation précise (type GPS).

J’ai donc regardé du coté des forums US et je suis tombé sur le site NetGeo. Ce dernier propose une base de donnée librement accessible par simple requête HTTP.
Exemple sur l’adresse IP du site google.fr:
http://netgeo.caida.org/perl/netgeo.cgi?target=216.239.59.104
VERSION=1.0
TARGET: 216.239.59.104
NAME: GOOGLE
NUMBER: 216.239.32.0 - 216.239.63.255
CITY: MOUNTAIN VIEW
STATE: CALIFORNIA
COUNTRY: US
LAT: 37.41
LONG: -122.08
LAT_LONG_GRAN: City
LAST_UPDATED: 11-May-2001
NIC: ARIN
LOOKUP_TYPE: Block Allocation
RATING:
DOMAIN_GUESS: google.com
STATUS: OK
Il est alors très simple de localiser cette adresse sur une Google Map.
J’ai écris un script PHP Geolocip permettant de faire automatiquement une geolocalisation d’une adresse IP ainsi que la génération de l’URL vers Google Map.
PS: La base de donnée NetGeo n’est malheureusement plus mise à jour… si vous avez d’autres solutions, je suis très intéressé !





Réseau
abonnez-vous
un commentaire
trackback
4 commentaires au billet “Geolocalisation par adresse IP”
Il existe Geo Ip Tool, non ?
http://www.geoiptool.com/fr
@kaviar: exact mais le problème est que GeoIPtool n’offre pas d’API (par exemple pour obtenir le resultat d’une requête en XML) ce qui limite sont utilisation dans le cadre d’un script ou d’autres besoins.
C’est bien comme api mais malheureusement et d’après ce qui est marqué dans leur page et après plusieurs test les résultats sont erronés car leur base n’est pas à jour:
“NetGeo has not been actively maintained for several years, and this will probably not change in the foreseeable future. As a result, there are several known major issues affecting accuracy and service availability. Please be warned that NetGeo may give wildly incorrect results, especially for recently allocated or re-assigned IP addresses.”
ex : j’ai pris l’adresse ip : 81.22.36.95
D’après netgeo il se trouve à AMSTERDAM - NORTH HOLLAND (province) avec LAT: 52.35 LONG: 4.90
En testant avec IP2Location cette adresse IP se trouve à UNITED KINGDOM
En testant avec MaxMind cet adresse IP se trouve à United Kingdom Lancashire Woburn avec LAT : 51.9833 LONG : -0.6167
En testant avec http://www.netim.be cette adresse IP se trouve à UNITED KINGDOM
En testant avec ip2country cette adresse IP se trouve à UNITED KINGDOM
Pour les webmasters qui le désirent, je fournis un script PHP sur mon site Internet http://www.WeLive.fr dans la rubrique Géolocalisation par IP.
Le script PHP vous retourne les informations sous forme de variables PHP : Pays, Drapeau du pays, Région-Département-Code Postal pour la France, Ville.
Celui-ci nécessite une inscription préalable aux fins d’éviter que n’importe qui l’utilise.
A bientôt
WeLive.fr
Publier un commentaire
Partager des documents lors des commentaires: Le groupe Scripd Nicolargo