Verkrijg de geografische locatie van het IP-adres van de terminal

over het verkrijgen van de geografische locatie van een IP van de terminal

In het volgende artikel gaan we kijken hoe we dat kunnen verkrijg de geografische locatie van ons openbare IP-adres​ We zullen dit kunnen doen via open API's en een eenvoudig bash-script, allemaal vanaf de Ubuntu-terminal. Tegenwoordig hebben alle apparaten die met internet zijn verbonden een IP, dat hun identificatie voor de wereld is geweest. Dit adres gebruiken we om uw locatie te bepalen.

Als we op internet surfen, elke server heeft een openbaar IP-adres, wordt dit rechtstreeks toegewezen aan de server of via een router die netwerkverkeer naar die server stuurt. IP-adressen bieden een gemakkelijke manier om de geografische locatie van de server in de wereld te volgen. Dit kan worden bereikt door gebruik te maken van twee API's van ipinfo.io e ipvigilante.com waarmee we het land van de server, de naam van de stad en de geografische coördinaten kunnen achterhalen.

verkrijg uw openbare of privé IP-adres
Gerelateerd artikel:
Verkrijg uw openbare of privé IP-adres in Gnu / Linux

In de volgende regels zullen we zien hoe pak de geografische locatie van een IP van de terminal die ons helpt met curl en jq​ Het belangrijkste doel en gebruik voor Krul is het automatiseren van bestandsoverdrachten of onbeheerde reeksen bewerkingen, terwijl jq is een functionele taal van zeer hoog niveau met ondersteuning voor backtracking en beheer van JSON-gegevensstromen.

Geografische locatie van een IP-adres van de terminal

Installeer Curl en jq

Om de geografische locatie van het IP-adres te achterhalen, zullen we dat moeten doen installeer krul en jq opdrachtregelprogramma om de JSON-gegevens te verwerken die zijn verkregen uit de geolocatie-API's. Om beide te installeren, moet je in een terminal (Ctrl + Alt + T) het commando schrijven:

installeer curl en jq

sudo apt install curl jq

Haal het openbare IP-adres van de server op

Voordat u de locatie ophaalt, moet u dit doen ken het openbare IP-adres van de server waarmee we verbinding maken​ Hiervoor gebruiken we het volgende cURL-commando waarmee we een verzoek zullen doen ipinfo.io van terminal (Ctrl + Alt + T) zoals hieronder getoond:

openbare ip verkregen met curl en ipinfo.io

curl https://ipinfo.io/ip

Verkrijg de gegevens van de geografische locatie van het IP-adres van uw systeem dankzij de API

Na het uitvoeren van de vorige opdracht zullen we het openbare IP-adres verkrijgen. Zodra we het hebben, zullen we het kunnen een verzoek indienen bij ipvigilante.com om geolocatiegegevens te verkrijgen​ Hiervoor gebruiken we het volgende commando in de terminal (Ctrl + Alt + T). Het is belangrijk om het openbare IP-adres te vervangen door het IP-adres dat is verkregen met het vorige commando.

geografische locatie van een IP verkregen met ipvigilante

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

Automatiseer de API-aanroep met Bash Script

Om het communicatieproces met de API te automatiseren gaan we maak een script in een bestand met de naam ipgeolocator.sh (de naam is optioneel​ Voor het maken ervan kunnen we elke editor gebruiken voor de opdrachtregel waarmee iedereen zich het prettigst voelt.

vim ipgeolocalizador.sh

Wanneer de editor wordt geopend, hoeft het alleen maar te gebeuren plak de regel hieronder weergegeven:

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

Eenmaal geplakt, hoeft u alleen maar het bestand op te slaan en de editor te verlaten. Hierna is het nodig maak het script uitvoerbaar​ We gaan dit doen door in dezelfde terminal te schrijven:

chmod +x ipgeolocalizador.sh

Op dit punt kunnen we voer het script als volgt uit om de geolocatie van het IP-adres op te halen publiek:

geografische locatie van een IP met bash

./ipgeolocalizador.sh

Het bovenstaande script geeft de naam van de stad en het land weer samen met de geschatte lengte- en breedtegraadcoördinaten. De waarheid is dat Ik weet niet welke foutmarge het kan hebben.

Als u de bovenstaande lange opdracht niet in een bestand wilt opslaan, u kunt dezelfde opdracht ook rechtstreeks in de terminal uitvoeren (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'

In dit korte artikel hebben we gezien hoe verkrijg de geolocatie van een IP van Ubuntu met behulp van terminal- en curl- en jq-opdrachten​ U kunt er meer informatie over krijgen jq of ongeveer Krul in hun overeenkomstige Wikipedia-artikelen.


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.