Géolocalisation d’IP

Il peut être pratique de géolocaliser une adresse IP. Même si les outils ne sont pas toujours fiables à 100%, on peut facilement avoir une indication du pays ou de la région où l’adresse IP est connue, avec quelques trucs assez simples.

Sous Linux, le premier réflexe est de se tourner vers whois, qui donne des informations de base, mais la présence d’informations géographiques n’est pas garantie. On peut alors utiliser d’autres astuces.

Avec curl

On peut passer par un service conçu à cet effet (probablement à condition de ne pas abuser, sans quoi un abonnement payant risque d’être demandé).

curl ipinfo.io/x.x.x.x

Le résultat sera sous la forme d’un joli JSON.

user@ubuntu:~# curl ipinfo.io/56.45.44.101
{
  "ip": "56.45.44.101",
  "city": "Seattle",
  "region": "Washington",
  "country": "US",
  "loc": "47.5413,-122.3129",
  "postal": "98108",
  "timezone": "America/Los_Angeles",
  "readme": "https://ipinfo.io/missingauth"
}

D’autres services proposent la même chose, à la syntaxe près qui peut varier un peu.

curl http://ip-api.com/json/x.x.x.x

Le résultat sera alors :

user@ubuntu:~# curl http://ip-api.com/json/56.45.44.101
{"status":"success","country":"United States","countryCode":"US","region":"NC","regionName":"North Carolina","city":"Raleigh","zip":"27668","lat":35.838,"lon":-78.6122,"timezone":"America/New_Yo
rk","isp":"United States Postal Service.","org":"United States Postal Service","as":"","query":"56.45.44.101"}

L’utilitaire geoiplookup

sudo apt-get install geoip-bin

Sur les Red Hat-like, le package doit s’appeler geoip (à installer par yum). Le résultat fourni est un peu plus sommaire.

user@ubuntu:~# geoiplookup -i 56.45.44.101
GeoIP Country Edition: US, United States
  ipaddr: 56.45.44.101
  range_by_ip:  55.0.0.0 - 56.255.255.255
  network:      56.0.0.0 - 56.255.255.255 ::8
  ipnum: 942484581
  range_by_num: 922746880 - 956301311
  network num:  939524096 - 956301311 ::8

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *