IP to Country-Konsolenbefehl

38

Gibt es einen Konsolenbefehl, der eine IP-Adresse als Eingabe verwendet und dessen geografische Informationen wie Stadt, Land, ISP usw. anzeigt?

BuZain
quelle

Antworten:

27

Der Befehl ist der einfache Teil, der schwierige Teil ist der Zugriff auf eine Datenbank.

Zum Beispiel hat Ubuntu eine kostenlose Datenbank mit einem Kommandozeilen-Abfragetool ( geoiplookup) im Paket. Es werden jedoch nur Länderinformationen angezeigt und eine statische (daher veraltete) Datenbank verwendet. Dieses Tool kann auch die MaxMind GeoIP-Datenbank abfragen, wenn Sie dort ein Abonnement haben.geoip-bin Installieren Sie geoip-bin

Es gibt verschiedene GeoIP-Datenbanken, nach denen Sie suchen können. Sie sind im Allgemeinen dazu gedacht, über einen Webbrowser angezeigt zu werden, Sie können jedoch nach einem Scraping-Skript suchen. Hier ist beispielsweise ein Ruby-Skript zum Abrufen von Daten aus der MaxMind-Datenbank . Beachten Sie, dass das Scrapen möglicherweise gegen die Nutzungsbedingungen der Datenbank verstößt.

Gilles 'SO - hör auf böse zu sein'
quelle
1
Ich habe gerade die Ubuntu Geoiplookup verwendet und es ist gut genug.
BuZain
CentOS # yum installieren GeoIP
zmonteca
@StephenRauch Danke, aber bitte benutze den offiziellen Ersatz für den defekten bit.ly Link: hostmar.co/software-small
Gilles '
1
@StephenRauch Der apt-Link funktioniert nur mit einem Browser-Plug-In, das Teil der Ubuntu-Standardinstallation ist, aber selten anders installiert wird.
Gilles 'SO- hör auf böse zu sein'
Diese sind auch in Homebrew für Mac:geoipupdate; geoiplookup ...
Pysis
58

Dieser Trick ist noch schöner und erfordert keine externen Pakete:

curl ipinfo.io/23.66.166.151
zmonteca
quelle
2
Falls ipinfo.io eines Tages offline geht, bietet ifconfig.me einen ähnlichen Service (plus eine REST-ähnliche API). Aber ifonfo.io scheint viel schneller zu sein.
Cedbeu
1
$ host yourdomain.com | cut -d '' -f 4 | curl ipinfo.io/$1
zmonteca
2
ipinfo.io ist für 1000 Anfragen / Tag (siehe ihre Preisdokumentation ).
Matthieu,
4
Eine weitere Alternative:curl ipinfo.io/$(dig +short yourdomain.com)
John Red
2
Wenn jemand jemals die Obergrenze der ipinfo.io-API überschreitet (glücklicherweise?), Gibt es auch freegeoip.net mit einem atemberaubenden Limit von 15.000 Anfragen pro Stunde. (Was unter der Haube zu laufen scheint die Geoiplookup von den anderen Antworten)
Samthecodingman
8

Hier ist eine weitere großartige Option. Anweisungen hier: http://kbeezie.com/geoiplookup-command-line/

Zum Beispiel auf Centos :

$ sudo yum install GeoIP GeoIP-data
$ geoiplookup 8.8.4.4

Funktioniert perfekt.

Und natürlich können Sie dies jederzeit als Cron einrichten:

$ /usr/bin/geoipupdate
Zinger
quelle
geoipupdateIst ein MaxMind-Tool, benötigen Sie ein Abonnement und den Lizenzschlüssel dazu /etc/GeoIP.conf. Ich konnte die kostenlose Alternative nicht nutzen ( erhielt den unerwarteten HTTP-Statuscode 401 ).
Pablo A
-1

Oder benutze whois

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

Daniel
quelle