Hämta den geografiska platsen för IP-adressen från terminalen

om att få den geografiska platsen för en IP från terminalen

I nästa artikel ska vi ta en titt på hur vi kan få den geografiska platsen för vår offentliga IP-adress. Vi kommer att kunna göra detta genom öppna API: er och ett enkelt bash-skript, allt från Ubuntu-terminalen. Idag har alla enheter som är anslutna till Internet en IP, vilket har varit deras identifierare för världen. Den här adressen är den vi kommer att använda för att få din plats.

När vi surfar på Internet, varje server har en offentlig IP-adress, detta tilldelas direkt till servern eller via en router som skickar nätverkstrafik till den servern. IP-adresser är ett enkelt sätt att spåra den geografiska platsen för servern i världen. Detta kan uppnås genom att använda två API: er som tillhandahålls av ipinfo.io e ipvigilante.com med vilken vi kommer att kunna få serverns land, stadens namn och dess geografiska koordinater.

få din offentliga eller privata IP-adress
Relaterad artikel:
Hämta din offentliga eller privata IP-adress i Gnu / Linux

I följande rader kommer vi att se hur få den geografisk plats för en IP från terminalen som hjälper oss med curl och jq. Huvudsyftet och användningen för ringla är att automatisera filöverföringar eller övervakade sekvenser av operationer, medan jq är ett mycket högt funktionellt språk med stöd för backtracking och hantering av JSON-dataströmmar.

Geografisk placering av en IP från terminalen

Installera Curl och jq

För att få den geografiska platsen för IP-adressen måste vi installera curl och jq kommandoradsverktyg för att bearbeta JSON-data som erhållits från geolokaliserings-API: erna. För att installera båda, i en terminal (Ctrl + Alt + T) måste du skriva kommandot:

installera curl och jq

sudo apt install curl jq

Hämta den offentliga IP-adressen till servern

Innan du får platsen måste du känna till den offentliga IP-adressen till servern som vi ansluter till. För detta kommer vi att använda följande cURL-kommando som vi kommer att göra en begäran till ipinfo.io från terminal (Ctrl + Alt + T) enligt nedan:

offentlig ip erhållen med curl och ipinfo.io

curl https://ipinfo.io/ip

Få data om den geografiska platsen för IP: n för ditt system tack vare API: et

Efter att ha utfört det tidigare kommandot kommer vi att få den offentliga IP-adressen. När vi väl har det kommer vi att kunna göra en begäran till ipvigilante.com för att erhålla geolokaliseringsdata. För detta kommer vi att använda följande kommando i terminalen (Ctrl + Alt + T). Det är viktigt att ersätta den offentliga IP-adressen med den som erhölls med föregående kommando.

geografisk plats för en IP som erhållits med ipvigilante

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

Automatisera API-samtalet med Bash Script

För att automatisera kommunikationsprocessen med det API vi ska skapa ett skript i en fil som heter ipgeolocator.sh (namnet är valfritt). För dess skapande kommer vi att kunna använda vilken redigerare som helst för kommandoraden som alla känner sig mest bekväma med.

vim ipgeolocalizador.sh

När redaktören öppnar måste du bara inuti klistra in raden visas nedan:

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

När du har klistrat in är allt du behöver göra att spara filen och avsluta redigeraren. Efter detta kommer det att vara nödvändigt gör skriptet körbart. Vi ska göra detta genom att skriva i samma terminal:

chmod +x ipgeolocalizador.sh

Vid den här tiden kan vi kör skriptet enligt följande för att få IP-adressens geografiska plats offentliga:

geografisk plats för en IP med bash

./ipgeolocalizador.sh

Ovanstående skript visar stadens och landets namn tillsammans med de ungefärliga koordinaterna för latitud och longitud. Sanningen är att Jag känner inte till den felmarginal som den kan ha.

Om du inte vill spara ovanstående långa kommando i en fil, Du kan också köra samma kommando direkt i terminalen (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'

I den här korta artikeln har vi sett hur få geolokalisering av en IP från Ubuntu med terminal- och curl- och jq-kommandon. Du kan få mer information om jq eller om ringla i deras motsvarande Wikipedia-artiklar.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.