Odpowiedzi:
Polecenie to łatwa część, trudna część ma dostęp do bazy danych.
Na przykład Ubuntu ma darmową bazę danych z narzędziem do zapytań wiersza poleceń ( geoiplookup
) w pakiecie. Ale pokazuje tylko informacje o kraju i wykorzystuje statyczną (stąd nieaktualną) bazę danych. To narzędzie może również sprawdzać bazę danych MaxMind GeoIP, jeśli masz tam subskrypcję.geoip-bin
Istnieje wiele baz danych GeoIP, które można wyszukać. Zazwyczaj są one przeznaczone do przeglądania w przeglądarce internetowej, ale możesz poszukać skryptu. Na przykład oto skrypt ruby do pobierania danych z bazy danych MaxMind . Pamiętaj, że zgarnianie może być niezgodne z warunkami korzystania z bazy danych.
geoipupdate; geoiplookup ...
Ta sztuczka jest jeszcze przyjemniejsza i nie wymaga żadnych zewnętrznych pakietów:
curl ipinfo.io/23.66.166.151
curl ipinfo.io/$(dig +short yourdomain.com)
Oto kolejna świetna opcja. Instrukcje tutaj: http://kbeezie.com/geoiplookup-command-line/
Na przykład w Centos :
$ sudo yum install GeoIP GeoIP-data
$ geoiplookup 8.8.4.4
Działa świetnie.
I oczywiście zawsze możesz ustawić to jako cron:
$ /usr/bin/geoipupdate
geoipupdate
jest narzędziem MaxMind, potrzebujesz subskrypcji i klucza licencyjnego /etc/GeoIP.conf
. Nie mogłem skorzystać z darmowej alternatywy ( otrzymałem nieoczekiwany kod statusu HTTP 401 ).