Показать статистику
0 голосов
от (1.7тыс. баллов)
78 просмотров 1 ответов

1 Ответ

0 голосов
от (16.2тыс. баллов)

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

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

Установите Curl и JQ

Чтобы получить географическое расположение IP-адреса сервера, нам нужно установить загрузчик командной строки curl и инструмент командной строки jq для обработки данных JSON из API геолокации.

Ubuntu/Debian

$ sudo apt install curl jq

CentOS/RHEL

$ sudo yum install curl jq

Fedora 22+

$ sudo dnf install curl jq

openSUSE

$ sudo zypper install curl jq

Найти публичный IP-адрес сервера

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

$ curl https://ipinfo.io/ip

Получить данные о местонахождении IP из API

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

image

Автоматизировать вызов 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'

На этом все. Теперь вы знаете как получить географическое местоположение вашего Linux Linux с терминала, используя команды curl и jq.

...