Найти геолокацию IP-адреса из командной строки
В этом кратком руководстве описывается, как установить и использовать утилиту geoiplookup для определения геолокации IP-адреса в Linux и Unix-подобных операционных системах.
Введение
Некоторое время назад мы написали статью, в которой описывалось, как узнать свое геолокацию из командной строки с помощью утилиты whereami. Сегодня мы увидим, как узнать геолокацию IP-адреса. Конечно, вы можете увидеть эту информацию из веб-браузера. Но гораздо проще найти его из командной строки.
geoiplookup — это утилита командной строки, которую можно использовать для определения страны происхождения IP-адреса или имени хоста. Он использует библиотеку и базу данных GeoIP для сбора сведений об IP-адресе.
Установите Geoiplookup в Linux
Geoiplookup доступен в репозиториях по умолчанию большинства операционных систем Linux.
Чтобы установить его в Arch Linux и его производных, запустите:
sudo pacman -S geoip
В Debian, Ubuntu, Linux Mint:
sudo apt-get install geoip-bin
В RHEL, CentOS, Fedora, Scientific Linux:
sudo yum install geoip
В SUSE/openSUSE:
sudo zypper install geoip
Найдите геолокацию IP-адреса с помощью Geoiplookup из командной строки
После установки вы можете узнать геолокацию любого IP-адреса, как показано ниже.
geoiplookup 80.60.233.195
Приведенная выше команда найдет и отобразит страну происхождения 80.60.233.195 в следующем формате:
GeoIP Country Edition: NL, Netherlands
Загрузите и обновите базы данных GeoIP
Обычно расположением баз данных GeoIP по умолчанию является /usr/share/GeoIP/
. Базы данных могут быть немного устаревшими. Вы можете загрузить последние базы данных, содержащие обновленные данные о геолокации, с сайта Maxmind. Это веб-сайт, который предлагает геолокацию IP-адреса.
Перейдите в папку базы данных GeoIP по умолчанию:
cd /usr/share/GeoIP/
Загрузите последние базы данных:
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
gunzip GeoIP.dat.gz
Теперь запустите команду geoiplookup, чтобы найти самые актуальные данные о геолокации IP-адреса.
geoiplookup 216.58.197.78
Пример вывода:
GeoIP Country Edition: US, United States
Как вы видите в приведенном выше выводе, он отображает только местоположение страны. Geoiplookup может даже отображать более подробную информацию, такую как штат, город, почтовый индекс, широту и долготу и т. д. Для этого вам необходимо загрузить базы данных городов из Maxmind, как показано ниже. Убедитесь, что вы загружаете его в папку /usr/share/GeoIP/
.
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
gunzip GeoLiteCity.dat.gz
Теперь выполните приведенную ниже команду, чтобы получить более подробную информацию о геолокации IP-адреса.
geoiplookup -f /usr/share/GeoIP/GeoLiteCity.dat 216.58.197.78
Пример вывода будет:
GeoIP City Edition, Rev 1: US, CA, California, Mountain View, 94043, 37.419201, -122.057404, 807, 650
Если вы сохранили файлы базы данных в другом месте, отличном от местоположения по умолчанию, вы можете использовать параметр '-d
', чтобы указать путь. Скажем, например, если вы сохранили файлы базы данных в /home/sk/geoip/
, команда для определения геолокации IP-адреса будет такой:
geoiplookup -d /home/sk/geoip/ 216.58.197.78
Более подробную информацию смотрите на страницах руководства.
man geoiplookup