Website-Suche

So finden Sie den geografischen Standort eines Linux-Servers im Terminal


In diesem Artikel zeigen wir Ihnen, wie Sie mithilfe offener APIs und eines einfachen Bash-Skripts über die Befehlszeile den geografischen Standort der IP-Adresse eines Remote-Linux-Systems ermitteln.

Im Internet verfügt jeder Server über eine öffentlich zugängliche IP-Adresse, die ihm direkt oder über einen Router zugewiesen wird, der Netzwerkverkehr an diesen Server sendet.

IP-Adressen bieten eine einfache Möglichkeit, den Standort des Servers weltweit zu verfolgen, indem zwei nützliche APIs verwendet werden, die von ipinfo.io und ipvigilante.com bereitgestellt werden, um den zu ermitteln Stadt, Bundesstaat und Land, die mit einem Server verbunden sind.

Installieren Sie Curl und jq

Um den geografischen Standort der IP-Adresse des Servers zu ermitteln, müssen wir den Curl-Befehlszeilen-Downloader und das jq-Befehlszeilentool installieren, um die JSON-Daten von den Geolocation-APIs zu verarbeiten.

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

Suchen Sie die öffentliche IP-Adresse des Servers

Um die öffentliche IP-Adresse des Servers zu erhalten, verwenden Sie den folgenden Curl-Befehl, um wie gezeigt eine API-Anfrage an ipinfo.io in Ihrem Terminal zu stellen.

curl https://ipinfo.io/ip

Rufen Sie IP-Standortdaten von der API ab

Sobald Sie die öffentliche IP-Adresse des Servers erhalten haben, können Sie mit dem folgenden Befehl eine Anfrage an die API von ipvigilante.com stellen, um die Geolokalisierungsdaten abzurufen. Stellen Sie sicher, dass Sie durch die öffentliche IP des Servers ersetzen.

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

Dies sind die Daten, die wir mit dem obigen Befehl erhalten.

Automatisieren Sie API-Aufrufe mit Bash-Skript

Um nun den API-Prozess zu automatisieren, erstellen wir mit einem Ihrer bevorzugten Befehlszeileneditoren ein Skript namens getipgeoloc.sh (Sie können es beliebig benennen).

vim getipgeoloc.sh

Kopieren Sie dann den folgenden langen Befehl und fügen Sie ihn ein.

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

Speichern Sie die Datei und machen Sie das Skript mit dem folgenden Befehl ausführbar.

chmod +x getipgeoloc.sh

Führen Sie abschließend das Skript aus, um den geografischen Standort Ihrer Linux-IP zu ermitteln, wie im folgenden Screenshot gezeigt.

./getipgeoloc.sh

Das obige Skript zeigt den Stadt- und Land-Namen zusammen mit den ungefähren Breitengrad- und Längengrad-Koordinaten an.

Alternativ können Sie den obigen Befehl auch ausführen, ohne ihn wie gezeigt in einem Skript zu speichern.

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

Vielleicht möchten Sie auch die folgenden verwandten Artikel lesen:

  1. 4 Möglichkeiten, die öffentliche IP-Adresse des Servers im Linux-Terminal zu finden
  2. Finden Sie die IP-Adressen aller Live-Hosts heraus, die unter Linux im Netzwerk verbunden sind
  3. Finden Sie die Top 10 IP-Adressen, die auf Ihren Apache-Webserver zugreifen

Das war es fürs Erste! In diesem kurzen Artikel haben wir gezeigt, wie Sie mithilfe der Befehle curl und jq Ihren geografischen Linux-IP-Standort vom Terminal abrufen. Teilen Sie uns Ihre Gedanken mit oder stellen Sie Fragen über das unten stehende Feedback-Formular.