Відповіді:
Команда - це легка частина, важка частина - доступ до бази даних.
Наприклад, Ubuntu має безкоштовну базу даних з інструментом запиту командного рядка ( geoiplookup
) . Але він показує лише інформацію про країну та використовує статичну (отже, застарілу) базу даних. Цей інструмент також може запитувати базу даних MaxMind GeoIP, якщо у вас є підписка.geoip-bin
Існують різні бази даних GeoIP, які ви можете шукати. Зазвичай вони призначені для перегляду через веб-браузер, але ви можете шукати сценарій скребки. Наприклад, ось сценарій рубіну для отримання даних із бази даних 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
Працює чудово.
І звичайно, ви завжди можете це налаштувати як крон:
$ /usr/bin/geoipupdate
geoipupdate
є інструментом MaxMind, вам потрібна підписка та ліцензійний ключ /etc/GeoIP.conf
. Я не зміг використати безкоштовну альтернативу ( Отримав несподіваний код статусу HTTP 401 ).