ターミナルでLinuxサーバの地理的位置を見つける方法


この記事では、オープンな[ API ]と簡単な[ bashスクリプト]をコマンドラインから使用して、リモートLinuxシステムのIPアドレスの地理的位置を見つける方法を説明します。

インターネット上では、各サーバーにはパブリックIPアドレスがあります。これは、サーバーに直接割り当てられているか、またはネットワークトラフィックをそのサーバーに送信するルーターを介して割り当てられています。

ipinfo.io ipvigilante.com が提供する2つの便利なAPIを使用してIPアドレスを取得することで、世界中のサーバーの場所を簡単に追跡できます。サーバーと接続されている都市、

Curlとjqをインストールする

サーバーのIPアドレスの地理的位置を取得するには、位置情報APIからのJSONデータを処理するためのcurlコマンドラインダウンローダーと jq コマンドラインツールをインストールする必要があります。

$ 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

サーバーのパブリックIPアドレスを探す

サーバーのパブリックIPアドレスを取得するには、次のcurlコマンドを使用して端末の ipinfo.io にAPIリクエストを送信します。

$ curl https://ipinfo.io/ip

APIからIPロケーションデータを取得する

サーバーのパブリックIPアドレスを取得したら、次のコマンドを使用して ipvigilante.com のAPIに位置情報データを取得するようにリクエストできます。 < your ip address> をサーバーのパブリックIPに置き換えてください。

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

これは上記のコマンドから取得したデータです。

Bashスクリプトを使用してAPI呼び出しを自動化する

APIプロセスを自動化するために、お気に入りのコマンドラインエディタを使用して getipgeoloc.sh というスクリプトを作成します(好きな名前を付けられます)。

$ vim getipgeoloc.sh

次に、その中に次の長いコマンドをコピーして貼り付けます。

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

ファイルを保存し、次のコマンドでスクリプトを実行可能にします。

$ chmod +x getipgeoloc.sh

最後に、次のスクリーンショットに示すように、スクリプトを実行してLinux IPの地理的位置を取得します。

$ ./getipgeoloc.sh

上記のスクリプトは、緯度経度の座標とともに、の名前を示しています。

また、上記のコマンドをスクリプトに保存せずに実行することもできます。

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

以下の関連記事も読んでください。

  1. 4 Ways to Find Server Public IP Address in Linux Terminal
  2. Find Out All Live Hosts IP Addresses Connected on Network in Linux
  3. Find Top 10 IP Addresses Accessing Your Apache Web Server

今のところそれだ!この短い記事では、 curl コマンドと jq コマンドを使用して端末からLinux IPの地理的位置を取得する方法を説明しました。私たちとあなたの考えを共有したり、以下のフィードバックフォームを介して質問をします。