In diesem Artikel zeigen wir Ihnen, wie Sie mithilfe offener APIs den geografischen Standort der IP-Adresse eines Remote-Linux-Systems finden und ein einfaches Bash-Skript über die Befehlszeile.
Im Internet hat jeder Server 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 weltweit zu verfolgen, indem zwei nützliche APIs verwendet werden, die von ipinfo.io bereitgestellt werden und ipvigilante.com um die Stadt zu bekommen , Zustand und Land mit einem Server verbunden.
Curl und jq installieren
Um den geografischen Standort der IP-Adresse des Servers zu erhalten, müssen wir den Curl-Befehlszeilen-Downloader und jq installieren Befehlszeilentool zum Verarbeiten der JSON-Daten aus den Geolokalisierungs-APIs.
$ 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
Finden Sie die öffentliche IP-Adresse des Servers
Verwenden Sie zum Abrufen der öffentlichen IP-Adresse des Servers den folgenden curl-Befehl, um eine API-Anfrage an ipinfo.io zu senden in Ihrem Terminal wie gezeigt.
$ curl https://ipinfo.io/ip
IP-Standortdaten von der API erhalten
Sobald Sie die öffentliche IP-Adresse des Servers erhalten haben, können Sie jetzt eine Anfrage an ipvigilante.com stellen ’s API, um die Geolocation-Daten mit dem folgenden Befehl abzurufen. Stellen Sie sicher, dass Sie <your ip address>
ersetzen mit der öffentlichen IP des Servers.
$ curl https://ipvigilante.com/<your ip address>
Dies sind die Daten, die wir vom obigen Befehl erhalten.
API-Aufruf mit Bash-Skript automatisieren
Um nun den API-Prozess zu automatisieren, erstellen wir ein Skript namens getipgeoloc.sh
(Sie können es beliebig benennen) mit einem Ihrer bevorzugten Befehlszeilen-Editoren.
$ 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 schließlich das Skript aus, um Ihren geografischen Linux-IP-Standort zu erhalten, wie im folgenden Screenshot gezeigt.
$ ./getipgeoloc.sh
Das obige Skript zeigt die Stadt und Land Name zusammen mit dem ungefähren Breitengrad und Längengrad Koordinaten.
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 die IP-Adressen aller Live-Hosts, die mit dem Netzwerk unter Linux verbunden sind
- Finden Sie die 10 wichtigsten IP-Adressen, die auf Ihren Apache-Webserver zugreifen
Das war es fürs Erste! In diesem kurzen Artikel haben wir gezeigt, wie Sie Ihren geografischen Linux-IP-Standort mithilfe von curl vom Terminal abrufen können und jq Befehle. Teilen Sie uns Ihre Gedanken mit oder stellen Sie Fragen über das Feedback-Formular unten.