Obtenir la ubicació geogràfica de l'adreça IP des de la terminal

about obtenir la ubicació geogràfica d'una IP des de la terminal

En el següent article anem a fer una ullada a com podem obtenir la ubicació geogràfica de la nostra adreça IP pública. Això anem a poder fer-ho mitjançant les API obertes i un script de bash simple, tot això des de la terminal d'Ubuntu. Avui dia tots els dispositius connectats a Internet compten amb una IP, que ve sent el seu identificador davant del món. Aquesta adreça és la que utilitzarem per obtenir la seva ubicació.

Quan naveguem per Internet, cada servidor té una adreça IP pública, Aquesta se li assigna directament a servidor o mitjançant un encaminador que envia el tràfic de xarxa a aquest servidor. Les adreces IP proporcionen una manera fàcil de rastrejar la ubicació geogràfica de l'servidor al món. Això es pot aconseguir fent ús de dues API proporcionades per ipinfo.io e ipvigilante.com amb les que podrem obtenir el país de servidor, el nom de la ciutat i les seves coordenades geogràfiques.

rebeu la vostra adreça IP pública o privada
Article relacionat:
Aconsegueix la teva adreça IP pública o privada a GNU / Linux

En les següents línies veurem com obtenir la ubicació geogràfica d'una IP des de la terminal ajudant-nos d'curl i JQ. El principal propòsit i ús per cURL és automatitzar transferències d'arxius o seqüències d'operacions no supervisades, mentre que jq és un llenguatge funcional de molt alt nivell amb suport per backtracking i gestió de fluxos de dades JSON.

Ubicació geogràfica d'una IP des de la terminal

Instal·lar Curl i JQ

Per obtenir la ubicació geogràfica de l'adreça IP, anem a haver de instal·lar curl i la eina de línia d'ordres JQ per processar les dades JSON obtingudes de les API de geolocalització. Per instal·lar tots dos, en una terminal (Ctrl + Alt + T) caldrà escriure la comanda:

instal·lar curl i JQ

sudo apt install curl jq

Obtenir l'adreça IP pública de l'servidor

Abans d'obtenir la ubicació, cal conèixer l'adreça IP pública de servidor a què ens connectem. Per això, farem servir la següent comanda cURL amb el qual farem una sol·licitud a ipinfo.io des de la terminal (Ctrl + Alt + T) com es mostra a continuació:

ip pública obtinguda amb curl i ipinfo.io

curl https://ipinfo.io/ip

Aconsegueix les dades de la ubicació geogràfica de la IP del teu sistema gràcies a l'API

Després d'executar l'anterior comandament obtindrem l'adreça IP pública. Una vegada que la tinguem, podrem realitzar una sol·licitud a ipvigilante.com per obtenir les dades de geolocalització. Per això utilitzarem la següent comanda a la terminal (Ctrl + Alt + T). És important reemplaçar la IP pública per la obtinguda amb la comanda anterior.

ubicació geogràfica d'una IP obtinguda amb ipvigilante

curl https://ipvigilante.com/la-dirección-IP

Automatitzar la crida a l'API usant Bash Script

Per automatitzar el procés de comunicació amb l'API anem a crear un script dins d'un arxiu anomenat ipgeolocalizador.sh (el nom és opcional). Per a la seva creació anem a poder utilitzar qualsevol editor per a la línia d'ordres amb el que més còmode es senti cada un.

vim ipgeolocalizador.sh

Quan s'obri l'editor, dins només cal enganxar la línia que es mostra a continuació:

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

Un cop enganxada només queda guardar l'arxiu i sortir de l'editor. Després d'això caldrà fer que l'script sigui executable. Això ho farem escrivint a la mateixa terminal:

chmod +x ipgeolocalizador.sh

Arribats a aquest punt, ja podem executar l'script de la següent manera per obtenir la ubicació geogràfica de la IP públic:

ubicació geogràfica d'una IP amb bash

./ipgeolocalizador.sh

La seqüència d'ordres anterior mostra el nom de la ciutat i el país juntament amb les coordenades aproximades de latitud i longitud. La veritat és que desconec el marge d'error que pot tenir.

Si no vols guardar l'anterior comando llarg dins d'un arxiu, també es pot executar aquest mateix ordre directament a la terminal (Ctrl + Alt + T):

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

En aquest breu article, hem vist com obtenir la ubicació geogràfica d'una IP des d'Ubuntu utilitzant la terminal i les ordres curl i JQ. Es pot obtenir més informació sobre jq o sobre cURL en els seus corresponents articles de Wikipedia.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.