Antworten:
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
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.
geoipupdate; geoiplookup ...
Dieser Trick ist noch schöner und erfordert keine externen Pakete:
curl ipinfo.io/23.66.166.151
curl ipinfo.io/$(dig +short yourdomain.com)
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
geoipupdate
Ist 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 ).