Como encontrar a localização geográfica do servidor Linux no terminal


Neste artigo, mostraremos como localizar a localização geográfica do endereço IP de um sistema Linux remoto usando APIs e um script bash simples na linha de comando.

Na Internet, cada servidor tem um endereço IP voltado para o público, que é atribuído diretamente ao servidor ou através de um roteador que envia tráfego de rede para esse servidor.

Os endereços IP fornecem uma maneira fácil de rastrear a localização do servidor no mundo usando duas APIs úteis fornecidas pelo ipinfo.io e ipvigilante.com para obter o cidade , estado e país conectado a um servidor.

Instalar Curl e jq

Para obter a localização geográfica do endereço IP do servidor, precisamos instalar o curl-line-downloader e a ferramenta de linha de comando jq para processar os dados JSON das APIs de geolocalização.

$ 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

Encontrar o endereço IP público do servidor

Para obter o endereço IP público do servidor, use o seguinte comando curl para fazer uma solicitação da API para ipinfo.io em seu terminal, conforme mostrado.

$ curl https://ipinfo.io/ip

Obter dados de localização de IP da API

Depois de obter o endereço IP público do servidor, você pode fazer uma solicitação à API do ipvigilante.com para buscar os dados de geolocalização usando o seguinte comando. Substitua & lt; seu endereço IP & gt; pelo IP público do servidor.

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

Estes são os dados que obtemos do comando acima.

Automatize a chamada da API usando o script Bash

Agora, para automatizar o processo da API, criaremos um script chamado getipgeoloc.sh (você pode nomear o que quiser) usando qualquer um dos seus editores de linha de comando favoritos.

$ vim getipgeoloc.sh

Em seguida, copie e cole o seguinte comando longo nele.

curl -s https://ipvigilante.com/$(curl -s https://ipinfo.io/ip) | jq '.data.latitude, .data.longitude, .data.city_name, .data.country_name'

Salve o arquivo e torne o script executável com o seguinte comando.

$ chmod +x getipgeoloc.sh

Por fim, execute o script para obter sua localização geográfica de IP do Linux, conforme mostrado na captura de tela a seguir.

$ ./getipgeoloc.sh

O script acima mostra o nome da cidade e país junto com as coordenadas aproximadas latitude e longitude .

Como alternativa, você também pode executar o comando acima sem salvá-lo em um script, conforme mostrado.

$ curl -s https://ipvigilante.com/$(curl -s https://ipinfo.io/ip) | jq '.data.latitude, .data.longitude, .data.city_name, .data.country_name'

Você também pode gostar de ler os seguintes artigos relacionados:

  1. 4 Ways to Find Server Public IP Address in Linux Terminal
  2. Find Out All Live Hosts IP Addresses Connected on Network in Linux
  3. Find Top 10 IP Addresses Accessing Your Apache Web Server

É isso por enquanto! Neste pequeno artigo, mostramos como obter sua localização geográfica IP do Linux a partir do terminal usando os comandos curl e jq . Compartilhe seus pensamentos conosco ou faça perguntas através do formulário de comentários abaixo.