Polecenie konsoli IP na kraj

38

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.?

BuZain
źródło

Odpowiedzi:

27

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 Zainstaluj 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.

Gilles „SO- przestań być zły”
źródło
1
właśnie użyłem geoiplookup Ubuntu i jest wystarczająco dobry.
BuZain
CentOS # yum zainstaluj GeoIP
zmonteca
@StephenRauch Dzięki, ale proszę skorzystać z oficjalnego zamiennika dla uszkodzonego linku bit.ly: hostmar.co/software-small
Gilles 'SO- przestań być zły'
1
@StephenRauch Łącze apt działa tylko z wtyczką przeglądarki, która jest częścią domyślnej instalacji Ubuntu, ale rzadko jest instalowana inaczej.
Gilles „SO- przestań być zły”
Są one również dostępne w Homebrew dla komputerów Mac:geoipupdate; geoiplookup ...
Pysis,
58

Ta sztuczka jest jeszcze przyjemniejsza i nie wymaga żadnych zewnętrznych pakietów:

curl ipinfo.io/23.66.166.151
zmonteca
źródło
2
W przypadku, gdy ipinfo.io kiedyś przejdzie w tryb offline, ifconfig.me zapewnia podobną usługę (plus interfejs API podobny do REST). Ale ifonfo.io wydaje się znacznie szybszy.
cedbeu
1
$ host twojadomena.com | cut -d '' -f 4 | curl ipinfo.io/$1
zmonteca
2
ipinfo.io jest bezpłatny dla 1000 zapytań dziennie (zobacz dokumentację cenową ).
Matthieu
4
Inna alternatywa:curl ipinfo.io/$(dig +short yourdomain.com)
John Red,
2
Jeśli ktoś kiedykolwiek trafi w pułapkę interfejsu API ipinfo.io (szczęście?), Istnieje również freegeoip.net, który ma oszałamiającą liczbę 15 000 żądań na godzinę. (Wydaje się, że pod maską działa geoiplookup z innych odpowiedzi)
samthecodingman
8

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
Zinger
źródło
geoipupdatejest 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 ).
Pablo A
-1

Lub użyj whois

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

Daniel
źródło