Поиск по сайту:

Как найти географическое расположение 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 для получения данных геолокации, используя следующую команду. Обязательно замените <ваш IP-адрес> общедоступным IP-адресом сервера.

curl https://ipvigilante.com/<your ip address>

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

Автоматизируйте вызов API с помощью Bash Script

Теперь, чтобы автоматизировать процесс 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'

Возможно, вам также будет интересно прочитать следующие статьи по теме:

  1. 4 способа найти публичный IP-адрес сервера в терминале Linux
  2. Узнайте IP-адреса всех живых хостов, подключенных к сети в Linux
  3. Найдите 10 лучших IP-адресов для доступа к вашему веб-серверу Apache

На этом всё! В этой короткой статье мы показали, как получить географическое местоположение IP-адреса Linux из терминала с помощью команд curl и jq. Поделитесь с нами своими мыслями или задайте любые вопросы через форму обратной связи ниже.