Zoeken op website

Hoe u de geografische locatie van Linux Server in Terminal kunt vinden


In dit artikel laten we u zien hoe u de geografische locatie van het IP-adres van een extern Linux-systeem kunt vinden met behulp van open API's en een eenvoudig bash-script vanaf de opdrachtregel.

Op internet heeft elke server een openbaar IP-adres, dat rechtstreeks aan de server wordt toegewezen of via een router die netwerkverkeer naar die server stuurt.

IP-adressen bieden een gemakkelijke manier om de locatie van de server in de wereld te volgen door twee nuttige API's te gebruiken die worden aangeboden door ipinfo.io en ipvigilante.com om de stad, staat en land verbonden met een server.

Installeer Curl en jq

Om de geografische locatie van het IP-adres van de server te achterhalen, moeten we de curl-opdrachtregeldownloader en het opdrachtregelprogramma jq installeren om de JSON-gegevens van de geolocatie-API's te verwerken.

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

Zoek het openbare IP-adres van de server

Om het openbare IP-adres van de server te verkrijgen, gebruikt u de volgende curl-opdracht om een API-verzoek in te dienen bij ipinfo.io in uw terminal, zoals weergegeven.

curl https://ipinfo.io/ip

Haal IP-locatiegegevens op via de API

Zodra u het openbare IP-adres van de server heeft, kunt u nu een verzoek indienen bij de API van ipvigilante.com om de geolocatiegegevens op te halen met behulp van de volgende opdracht. Zorg ervoor dat u vervangt door het openbare IP-adres van de server.

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

Dit zijn de gegevens die we krijgen van de bovenstaande opdracht.

Automatiseer API-aanroepen met behulp van Bash-script

Om het API-proces te automatiseren, zullen we een script maken met de naam getipgeoloc.sh (je kunt het elke naam geven die je wilt) met behulp van een van je favoriete opdrachtregeleditors.

vim getipgeoloc.sh

Kopieer en plak vervolgens de volgende lange opdracht erin.

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

Sla het bestand op en maak het script uitvoerbaar met de volgende opdracht.

chmod +x getipgeoloc.sh

Voer ten slotte het script uit om de geografische locatie van uw Linux IP op te halen, zoals weergegeven in de volgende schermafbeelding.

./getipgeoloc.sh

Het bovenstaande script toont de naam van de stad en land samen met de geschatte breedtegraad en lengtegraad coördinaten.

Als alternatief kunt u de bovenstaande opdracht ook uitvoeren zonder deze in een script op te slaan, zoals weergegeven.

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

Misschien wilt u ook de volgende gerelateerde artikelen lezen:

  1. 4 manieren om het openbare IP-adres van de server te vinden in Linux Terminal
  2. Ontdek alle IP-adressen van live hosts die zijn aangesloten op het netwerk in Linux
  3. Vind de top 10 IP-adressen die toegang krijgen tot uw Apache-webserver

Dat is het voor nu! In dit korte artikel hebben we laten zien hoe u uw geografische Linux IP-locatie van de terminal kunt achterhalen met behulp van de opdrachten curl en jq. Deel uw mening met ons of stel uw vraag via het onderstaande feedbackformulier.