ウェブサイト検索

ターミナルで Linux サーバーの地理的位置を確認する方法


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

インターネット上では、各サーバーには公開 IP アドレスがあり、サーバーに直接割り当てられるか、ネットワーク トラフィックをそのサーバーに送信するルーター経由で割り当てられます。

IP アドレスは、ipinfo.ioipvigilante.com が提供する 2 つの便利な API を使用して、世界中のサーバーの位置を追跡する簡単な方法を提供します。都市、、およびがサーバーに接続されています。

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 にリクエストを送信して地理位置情報データを取得できます。 をサーバーのパブリック 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. LinuxターミナルでサーバーのパブリックIPアドレスを見つける4つの方法
  2. Linux のネットワーク上に接続されているすべてのライブ ホストの IP アドレスを確認する
  3. Apache Web サーバーにアクセスする上位 10 の IP アドレスを見つける

今のところはここまでです!この短い記事では、curl コマンドと jq コマンドを使用してターミナルから Linux IP の地理的位置を取得する方法を説明しました。ご意見を共有したり、以下のフィードバック フォームからご質問をお送りください。