Ответы:
Команда - это легкая часть, сложная часть - доступ к базе данных.
Например, в Ubuntu есть бесплатная база данных с инструментом запроса командной строки ( geoiplookup
) в пакете. Но он показывает только информацию о стране и использует статическую (следовательно, устаревшую) базу данных. Этот инструмент также может запрашивать базу данных MaxMind GeoIP, если у вас есть подписка там.geoip-bin
Существуют различные базы данных GeoIP, которые вы можете посмотреть. Как правило, они предназначены для просмотра через веб-браузер, но вы можете найти скриптовый скрипт. Например, вот скрипт ruby для извлечения данных из базы данных MaxMind . Обратите внимание, что очистка может противоречить условиям обслуживания базы данных.
geoipupdate; geoiplookup ...
Этот трюк еще приятнее и не требует никаких внешних пакетов:
curl ipinfo.io/23.66.166.151
curl ipinfo.io/$(dig +short yourdomain.com)
Вот еще один отличный вариант. Инструкции здесь: 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 ).