So finden Sie den geografischen Standort des Linux-Servers im Terminal
In diesem Artikel zeigen wir Ihnen, wie Sie den geografischen Standort der IP-Adresse eines Remote-Linux-Systems mithilfe offener APIs und eines einfachen Bash-Skripts über die Befehlszeile ermitteln können.
Im Internet verfügt jeder Server über eine öffentlich zugängliche IP-Adresse, die dem Server direkt oder über einen Router zugewiesen wird, der Netzwerkverkehr an diesen Server sendet.
IP-Adressen bieten eine einfache Möglichkeit, den Standort des Servers in der Welt zu verfolgen, indem zwei nützliche APIs verwendet werden, die von ipinfo.io und ipvigilante.com bereitgestellt werden, um die Stadt, das Bundesland und das Land mit einem Server zu verbinden.
Installieren von Curl und jq
Um den geografischen Standort der IP-Adresse des Servers zu erhalten, müssen wir den curl-Befehlszeilen-Downloader und das jq-Befehlszeilentool installieren, um die JSON-Daten aus 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 der öffentlichen IP-Adresse des Servers
Um die öffentliche IP-Adresse des Servers abzurufen, verwenden Sie den folgenden curl-Befehl, um eine API-Anfrage an die ipinfo.io in Ihrem Terminal zu senden, wie gezeigt.
$ curl https://ipinfo.io/ip
Abrufen von IP-Standortdaten von der API
Sobald Sie die öffentliche IP-Adresse des Servers erhalten haben, können Sie nun mit dem folgenden Befehl eine Anfrage an die API von ipvigilante.com stellen, um die Geolokalisierungsdaten abzurufen. Stellen Sie sicher, dass Sie <Ihre IP-Adresse> durch die öffentliche IP-Adresse des Servers ersetzen.
$ curl https://ipvigilante.com/<your ip address>
Dies sind die Daten, die wir aus dem obigen Befehl erhalten.
Automatisieren Sie den API-Aufruf mit dem Bash-Skript
Um den API-Prozess zu automatisieren, erstellen wir nun ein Skript namens getipgeoloc.sh (Sie können es beliebig benennen) mit einem Ihrer bevorzugten Befehlszeileneditoren.
$ 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-Adresse abzurufen, wie im folgenden Screenshot gezeigt.
$ ./getipgeoloc.sh
Das obige Skript zeigt den Namen der Stadt und des Landes zusammen mit den ungefähren Längen- und Breitengradkoordinaten 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:
- 4 Möglichkeiten, die öffentliche IP-Adresse des Servers im Linux-Terminal zu finden
- Ermitteln Sie alle IP-Adressen von Live-Hosts, die unter Linux mit dem Netzwerk verbunden sind
- Finden Sie die 10 besten IP-Adressen, die auf Ihren Apache-Webserver zugreifen
Das war's fürs Erste! In diesem kurzen Artikel haben wir gezeigt, wie Sie Ihren geografischen Standort der Linux-IP mit den Befehlen curl und jq vom Terminal aus abrufen können. Teilen Sie uns Ihre Gedanken mit oder stellen Sie Fragen über das untenstehende Feedback-Formular.





