Commande de console IP to Country

38

Existe-t-il une commande de console qui prend une adresse IP en tant qu'entrée et affiche ses informations géographiques telles que la ville, le pays, le fournisseur de services Internet, etc.?

BuZain
la source

Réponses:

27

La commande est la partie facile, la partie difficile est d'avoir accès à une base de données.

Par exemple, Ubuntu a une base de données gratuite avec un outil de requête en ligne de commande ( geoiplookup) dans le package. Mais il ne montre que les informations sur les pays et utilise une base de données statique (donc obsolète). Cet outil peut également interroger la base de données MaxMind GeoIP, si vous y avez souscrit.geoip-bin Install geoip-bin

Il existe diverses bases de données GeoIP que vous pouvez rechercher. Ils sont généralement conçus pour être visualisés via un navigateur Web, mais vous pouvez rechercher un script de grattage. Par exemple, voici un script ruby ​​permettant de récupérer des données de la base de données MaxMind . Notez que le grattage peut être contraire aux conditions d'utilisation de la base de données.

Gilles, arrête de faire le mal
la source
1
viens d'utiliser le geoiplookup ubuntu et c'est assez bon.
BuZain
CentOS # yum installez GeoIP
zmonteca
@StephenRauch Merci, mais veuillez utiliser le remplacement officiel pour le lien brisé bit.ly: hostmar.co/software-small
Gilles '
1
@StephenRauch Le lien apt ne fonctionne qu'avec un plug-in de navigateur faisant partie de l'installation par défaut d'Ubuntu mais rarement installé autrement.
Gilles 'SO- arrête d'être méchant'
Ceux-ci sont également dans Homebrew pour Mac:geoipupdate; geoiplookup ...
Pysis
58

Cette astuce est encore plus agréable et ne nécessite aucun paquet externe:

curl ipinfo.io/23.66.166.151
Zmonteca
la source
2
Si ipinfo.io se déconnecte un jour, ifconfig.me fournit un service similaire (plus une API de type REST). Mais ifonfo.io semble beaucoup plus rapide.
Cedbeu
1
$ host yourdomain.com | cut -d '' -f 4 | curl ipinfo.io/$1
zmonteca
2
ipinfo.io est gratuit pour 1000 demandes / jour (voir leur documentation de tarification ).
Matthieu
4
Une autre alternative:curl ipinfo.io/$(dig +short yourdomain.com)
John Red
2
Si quelqu'un atteint le plafond de l'API ipinfo.io (heureusement?), Il y a aussi freegeoip.net qui limite à 15 000 requêtes par heure. (Qui sous le capot semble exécuter le geoiplookup des autres réponses)
samthecodingman
8

Voici une autre excellente option. Instructions ici: http://kbeezie.com/geoiplookup-command-line/

Par exemple, sur Centos :

$ sudo yum install GeoIP GeoIP-data
$ geoiplookup 8.8.4.4

Fonctionne parfaitement.

Et bien sûr, vous pouvez toujours le configurer comme un cron:

$ /usr/bin/geoipupdate
Zinger
la source
geoipupdateest un outil MaxMind, vous avez besoin d’un abonnement et de la clé de licence /etc/GeoIP.conf. Je ne pouvais pas utiliser l' alternative gratuite ( J'ai reçu un code d'état HTTP inattendu de 401 ).
Pablo Un
-1

Ou utilisez whois

$ whois 8.8.8.8 |grep country -i -m 1 |cut -d ':' -f 2 |xargs US

Daniel
la source