Obțineți locația geografică a adresei IP de la terminal

despre a obține locația geografică a unui IP de la terminal

În articolul următor vom analiza cum putem obțineți locația geografică a adresei noastre IP publice. Vom putea face acest lucru prin API-uri deschise și un script bash simplu, totul de la terminalul Ubuntu. Astăzi, toate dispozitivele conectate la Internet au un IP, care a fost identificatorul lor pentru lume. Această adresă este cea pe care o vom folosi pentru a obține locația dvs.

Când navigăm pe Internet, fiecare server are o adresă IP publică, aceasta este atribuită direct serverului sau printr-un router care trimite trafic de rețea către acel server. Adresele IP oferă o modalitate ușoară de a urmări locația geografică a serverului în lume. Acest lucru poate fi realizat prin utilizarea a două API-uri furnizate de ipinfo.io e ipvigilante.com cu care vom putea obține țara serverului, numele orașului și coordonatele sale geografice.

obțineți adresa IP publică sau privată
Articol asociat:
Obțineți adresa IP publică sau privată în Gnu / Linux

În rândurile următoare vom vedea cum obține locația geografică a unui IP de la terminal ne ajută cu curl și jq. Scopul principal și utilizarea pentru cURL este de a automatiza transferurile de fișiere sau secvențele de operații nesupravegheate, în timp ce jq este un limbaj funcțional la nivel înalt, cu suport pentru backtracking și gestionarea fluxurilor de date JSON.

Localizarea geografică a unui IP de la terminal

Instalați Curl și jq

Pentru a obține locația geografică a adresei IP, va trebui să instalați bucla şi instrument linie de comandă jq pentru a procesa datele JSON obținute din API-urile de geolocalizare. Pentru a le instala pe ambele, într-un terminal (Ctrl + Alt + T) va trebui să scrieți comanda:

instalați curl și jq

sudo apt install curl jq

Obțineți adresa IP publică a serverului

Înainte de a obține locația, trebuie cunoașteți adresa IP publică a serverului la care ne conectăm. Pentru aceasta, vom folosi următoarea comandă cURL cu care vom face o solicitare ipinfo.io de la terminal (Ctrl + Alt + T) așa cum se arată mai jos:

ip public obținut cu curl și ipinfo.io

curl https://ipinfo.io/ip

Obțineți datele despre locația geografică a IP-ului sistemului dvs. datorită API-ului

După executarea comenzii anterioare vom obține adresa IP publică. Odată ce îl vom avea, vom putea faceți o solicitare la ipvigilante.com pentru a obține date de geolocalizare. Pentru aceasta vom folosi următoarea comandă în terminal (Ctrl + Alt + T). Este important să înlocuiți IP-ul public cu cel obținut cu comanda anterioară.

localizarea geografică a unui IP obținut cu ipvigilante

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

Automatizați apelul API folosind Bash Script

Pentru a automatiza procesul de comunicare cu API-ul către care mergem creați un script într-un fișier numit ipgeolocator.sh (numele este opțional). Pentru crearea acestuia vom putea folosi orice editor pentru linia de comandă cu care fiecare se simte cel mai confortabil.

vim ipgeolocalizador.sh

Când editorul se deschide, în interior trebuie doar să lipiți linia prezentat mai jos:

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

Odată lipit, tot ce trebuie să faceți este să salvați fișierul și să ieșiți din editor. După aceasta va fi necesar faceți scriptul executabil. Vom face acest lucru scriind în același terminal:

chmod +x ipgeolocalizador.sh

În acest moment, putem rulați scriptul după cum urmează pentru a obține locația geografică a IP-ului public:

locația geografică a unui IP cu bash

./ipgeolocalizador.sh

Scriptul de mai sus afișează numele orașului și țării, împreună cu coordonatele aproximative de latitudine și longitudine. Adevărul este că Nu cunosc marja de eroare pe care o poate avea.

Dacă nu doriți să salvați comanda lungă de mai sus într-un fișier, puteți rula aceeași comandă direct în 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'

În acest scurt articol, am văzut cum obțineți geolocalizarea unui IP de la Ubuntu utilizând comenzile terminal și curl și jq. Puteți obține mai multe informații despre jq sau despre cURL în articolele lor corespunzătoare din Wikipedia.


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.