Команда консоли IP to Country

38

Существует ли консольная команда, которая принимает IP-адрес в качестве ввода и показывает географическую информацию, такую ​​как город, страна, провайдер и т. Д.?

BuZain
источник

Ответы:

27

Команда - это легкая часть, сложная часть - доступ к базе данных.

Например, в Ubuntu есть бесплатная база данных с инструментом запроса командной строки ( geoiplookup) в пакете. Но он показывает только информацию о стране и использует статическую (следовательно, устаревшую) базу данных. Этот инструмент также может запрашивать базу данных MaxMind GeoIP, если у вас есть подписка там.geoip-bin Установить geoip-bin

Существуют различные базы данных GeoIP, которые вы можете посмотреть. Как правило, они предназначены для просмотра через веб-браузер, но вы можете найти скриптовый скрипт. Например, вот скрипт ruby ​​для извлечения данных из базы данных MaxMind . Обратите внимание, что очистка может противоречить условиям обслуживания базы данных.

Жиль "ТАК - прекрати быть злым"
источник
1
только что использовал Ubuntu Geoiplookup и это достаточно хорошо.
BuZain
CentOS # yum установить GeoIP
zmonteca
@StephenRauch Спасибо, но, пожалуйста, используйте официальную замену неработающей ссылки bit.ly: hostmar.co/software-small
Жиль, "ТАК, перестань быть злым"
1
@StephenRauch Ссылка apt работает только с подключаемым модулем браузера, который является частью установки Ubuntu по умолчанию, но редко устанавливается в противном случае.
Жиль "ТАК - перестань быть злым"
Они также в Homebrew для Mac:geoipupdate; geoiplookup ...
Пизис
58

Этот трюк еще приятнее и не требует никаких внешних пакетов:

curl ipinfo.io/23.66.166.151
zmonteca
источник
2
Если ipinfo.io когда-нибудь выйдет из сети, ifconfig.me предоставляет аналогичную услугу (плюс REST-подобный API). Но ifonfo.io кажется намного быстрее.
cedbeu
1
$ host yourdomain.com | cut -d '' -f 4 | curl ipinfo.io/$1
zmonteca
2
ipinfo.io бесплатен для 1000 запросов в день (см. их документацию по ценам ).
Матье
4
Другая альтернатива:curl ipinfo.io/$(dig +short yourdomain.com)
Джон Ред
2
Если кто-то когда-нибудь достигнет предела в API ipinfo.io (вам повезло?), Есть также freegeoip.net, у которого есть сногсшибательное ограничение в 15 000 запросов в час. (Который под капотом, кажется, запускает geoiplookup из других ответов)
samthecodingman
8

Вот еще один отличный вариант. Инструкции здесь: http://kbeezie.com/geoiplookup-command-line/

Например, на Centos :

$ sudo yum install GeoIP GeoIP-data
$ geoiplookup 8.8.4.4

Работает отлично.

И, конечно, вы всегда можете установить это как cron:

$ /usr/bin/geoipupdate
живчик
источник
geoipupdateэто инструмент MaxMind, вам нужна подписка и лицензионный ключ /etc/GeoIP.conf. Я не мог использовать бесплатную альтернативу ( Получил неожиданный код состояния HTTP 401 ).
Пабло А
-1

Или используйте Whois

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

Даниил
источник