рекомендации

понедельник, 12 июля 2021 г.

Как найти географическое местоположение Linux-сервера в терминале

В этой статье мы покажем вам, как найти географическое местоположение IP-адреса удаленной системы Linux с помощью открытых API-интерфейсов и простого скрипта bash из командной строки.

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

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

Установка Curl и jq

Чтобы получить географическое расположение IP-адреса сервера, нам нужно установить загрузчик командной строки curl и инструмент командной строки jq для обработки данных JSON из API-интерфейсов геолокации.
$ sudo apt install curl jq		#Ubuntu/Debian
$ sudo yum install curl jq		#CentOS/RHEL
$ sudo dnf install curl jq		#Fedora 22+
$ sudo zypper install curl jq		#openSUSE


Поиск общедоступного IP-адреса сервера

Чтобы получить общедоступный IP-адрес сервера, используйте следующую команду curl, чтобы сделать запрос API к ipinfo.io в вашем терминале, как показано ниже.
$ curl https://ipinfo.io/ip


Получение данных IP-адреса из API

Получив общедоступный IP-адрес сервера, вы можете сделать запрос к API ipvigilante.com для получения данных геолокации, используя приведенную ниже команду. Обязательно замените <your ip address> общедоступным IP-адресом сервера.
$ curl https://ipvigilante.com/<your ip address>

Это данные, которые мы получаем из приведенной выше команды.

Автоматизация вызова API с помощью скрипта Bash

Теперь, чтобы автоматизировать процесс вызова API, мы создадим скрипт под названием getipgeoloc.sh (вы можете называть его как хотите), используя любой из ваших любимых редакторов командной строки.
$ vim getipgeoloc.sh
Затем скопируйте и вставьте в него следующую длинную команду.
curl -s https://ipvigilante.com/$(curl -s https://ipinfo.io/ip) | jq '.data.latitude, .data.longitude, .data.city_name, .data.country_name'
Сохраните файл и сделайте скрипт исполняемым с помощью следующей команды:
$ chmod +x getipgeoloc.sh
Наконец, запустите скрипт, чтобы получить географическое местоположение вашего IP-адреса Linux, как показано на следующем снимке экрана.
$ ./getipgeoloc.sh

В приведенном выше скрипте показаны название города и страны, а также приблизительные координаты широты и долготы.

В качестве альтернативы вы также можете запустить указанную выше команду, не сохраняя ее в скрипте, как показано ниже.
$ curl -s https://ipvigilante.com/$(curl -s https://ipinfo.io/ip) | jq '.data.latitude, .data.longitude, .data.city_name, .data.country_name'


Комментариев нет:

Отправить комментарий