Czy istnieje polecenie konsoli, które pobiera adres IP jako dane wejściowe i wyświetla informacje geograficzne, takie jak miasto, kraj, dostawca usług internetowych itp.?
źródło
Czy istnieje polecenie konsoli, które pobiera adres IP jako dane wejściowe i wyświetla informacje geograficzne, takie jak miasto, kraj, dostawca usług internetowych itp.?
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:
źródło
curl ipinfo.io/$(dig +short yourdomain.com)
Oto kolejna świetna opcja. Instrukcje tutaj: http://kbeezie.com/geoiplookup-command-line/
Na przykład w Centos :
Działa świetnie.
I oczywiście zawsze możesz ustawić to jako cron:
źródło
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 ).Lub użyj whois
$ whois 8.8.8.8 |grep country -i -m 1 |cut -d ':' -f 2 |xargs US
źródło