パブリックIPアドレスは、サーバーがインターネットに接続されているときに各サーバーに割り当てられます。このアドレスは、サーバーに信号やトラフィックを送信するために使用されるルーターに直接割り当てることができます。
この記事では、オープンAPIを使用してリモートLinuxシステムのIPアドレスと地理的位置を特定する方法と、ターミナルを介してbashスクリプトを実行する方法について説明します。以下にリストされているCentOS8システムですべてのコマンドとスクリプトを実行しました。
CentOS8でLinuxサーバーの地理的な場所を見つける
サーバーの地理的な場所を見つけるには、システムでさまざまなコマンドを実行する必要があります。 CentOS 8システムにrootユーザーとしてログインし、次の手順を実行します。
ターミナルを開く
ショートカットメソッド「Ctrl+Alt + t」でターミナルウィンドウを開くか、「アクティビティ」をクリックし、次のようにアプリケーション検索バーに「ターミナル」と入力してターミナルを起動します。
curlとjqをインストールする
LinuxサーバーのIPアドレスと地理的位置を見つけるには、地理的位置APIを使用してJSONデータを処理するために使用されるCurlおよびJqコマンドラインツールをインストールする必要があります。そのために、端末で次のコマンドを実行します。
$ sudo yum install curl jq
「y」と「Enter」を押すと、インストールに追加のスペースを使用できるようになります。
しばらくすると、curlとjqがシステムCentOS8に正常にインストールされたことがわかります。
リモートサーバーのパブリックIPアドレスを見つける方法
curlコマンドを使用して、サーバーのパブリックIPアドレスを取得できます。 curlコマンドは、次のようにターミナルを使用して、次のURLipinfo.ioにAPIリクエストを送信するために使用されます。
$ curl https://ipinfo.io/ip
APIから地理的位置データを取得するにはどうすればよいですか?
サーバーのIPアドレスが取得されたら、地理的な場所を取得するリクエストをipvigilante.comAPIに送信します。この目的のために、次のコマンドを使用して、
$ curl https://ipvigilante.com/<Enter your IP address>
bashスクリプトを使用して地理的位置データを取得する
bashスクリプトメソッドを使用してAPIプロセスを自動化できます。スクリプトを作成するには、次のスクリプトを貼り付けるテキストファイルを作成する必要があります。
curl -s https://ipvigilante.com/$(curl -s https://ipinfo.io/ip) | jq '.data.latitude, .data.longitude, .data.city_name, .data.country_name'
次に、上記のスクリプトファイルを「getipgeoloc.sh」という名前で保存します。要件に応じて、希望の名前で保存することもできます。ここでも、ターミナルウィンドウに移動し、次のようにコマンドを入力して実行可能ファイルを作成します。
$ 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'
地理的な場所とのおおよその座標が次のように端末に表示されます。
結論
この記事では、パブリックIPリモートLinuxサーバーの地理的な場所を見つける方法について説明しました。さらに、CentOS 8にcurl、jqツールをインストールして使用する方法を学び、これらを使用してリモートサーバーの地理的な場所を見つける方法を学びました。ご不明な点がございましたら、コメント欄にコメントをお寄せください。