Поиск географического местоположения сервера Ubuntu в командной строке

Бывают случаи, когда необходимо определить географическое местоположение удаленной машины Ubuntu на основе ее IP-адреса. В этой статье мы расскажем, как это сделать, сначала получив IP-адрес публичного сервера системы, а затем используя этот IP-адрес для определения географического положения, используя API, предоставляемые ipinfo.io и ipvigilante.com.

Показать географическое местоположение IP-адреса в терминале

Для того чтобы получить географическое местоположение вашего сервера, вам понадобится загрузчик Curl и инструмент командной строки JQ. Эти инструменты позволят вам получить и обработать необходимые данные из геолокационных API из Интернета. Пожалуйста, выполните следующие шаги, чтобы установить эти инструменты и затем получить необходимую информацию о местоположении, используя публичный IP вашей машины.

Шаг 1: Установите пакеты Curl и jq

Curl и jq легко доступны в официальном репозитории Ubuntu и могут быть установлены из командной строки с помощью команды apt-get.

Откройте приложение Terminal либо через системный Поиск приложений, либо через сочетание клавиш Ctrl+Alt+T.

Следующим шагом будет обновление индекса репозитория вашей системы с помощью следующей команды:

sudo apt-get update

Это поможет вам установить последнюю доступную версию программного обеспечения из Интернета.

Обратите внимание, что только авторизованный пользователь может добавлять, удалять и настраивать программное обеспечение на Ubuntu.

Теперь вы готовы к установке необходимых инструментов; вы можете сделать это, выполнив следующую команду от имени sudo:

sudo apt-get install curl jq

Система может запросить у вас пароль для sudo, а также предложить вам опцию Y/n для продолжения установки. Введите Y и нажмите Enter; программное обеспечение будет установлено на вашу систему. Однако процесс может занять некоторое время в зависимости от скорости вашего Интернета.

Шаг 2: Найдите публичный IP-адрес машины/сервера Ubuntu

Все серверы в Интернете распознаются по публичным IP-адресам. Это IP-адрес, присвоенный вашему серверу напрямую или через маршрутизатор сетевого трафика. Мы можем получить этот IP вашей машины с помощью API, предоставляемого ipinfo.io.

Используйте следующую команду curl, чтобы получить ваш публичный IP:

либо

Получить информацию об IP

Вывод, размытый здесь из-за соображений конфиденциальности, - это публичный IP, по которому ваш сервер распознается в мире Интернета.

Шаг 3: Получение геолокации на основе публичного IP

Как только вы узнали свой публичный IP, вы можете сделать запрос к API ipvigilante.com, чтобы получить географическое положение ваших серверов. Используйте команду curl, упомянутую ниже, чтобы получить данные о вашем местоположении, такие как:

  • Континент
  • Страна
  • Штат/провинция
  • Город
  • широта и долгота

Получение информации об IP-адресе в формате json

Полученная информация довольно подробна и хорошо служит цели.

Использование сценария Bash для вывода геопозиции

Вместо того чтобы выполнять описанные выше действия каждый раз, когда вам нужно проверить географическое положение, вы можете воспользоваться bash-скриптом, который мы опишем здесь. С помощью этого сценария bash вы можете автоматизировать свою систему для получения географических данных вашего сервера с помощью одной команды, которая запускает этот сценарий. Вот как вы можете это сделать:

Откройте новый файл скрипта в одном из ваших любимых текстовых редакторов. Мы будем использовать редактор nano, чтобы открыть пустой файл скрипта с именем geo_location.sh

В этот пустой файл добавьте следующий скрипт.

Вместо того чтобы вводить весь сценарий в свой файл bash, вы можете скопировать его отсюда и вставить в Терминал с помощью сочетания клавиш Ctrl+Shift+V или с помощью опции Paste из меню правой кнопки мыши.

Теперь выйдите из файла через сочетание клавиш Ctrl+X и сохраните файл на запрос "Сохранить измененный буфер?", набрав Y и нажав Enter.

Для того чтобы сделать этот файл исполняемым скриптом, выполните следующую команду в Терминале:

Наконец, запустите этот скрипт следующим образом:

Получение GEO местоположения сервера Ubuntu

Вы можете видеть, как этот сценарий аккуратно выводит в терминал широту, долготу, город и название страны вашего сервера.

Если вам нужно получить геолокацию вашего сервера только один раз, вам не нужно создавать bash-скрипт. В противном случае скрипт будет автоматизировать весь процесс каждый раз, когда вам нужно будет проверить графическое местоположение вашей машины Ubuntu на основе ее публичного IP.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий