この記事では、オープンな APIを使用してリモートLinuxシステムのIPアドレスの地理的位置を見つける方法を紹介します。 シンプルなbashスクリプト コマンドラインから。
インターネットでは、各サーバーに公開IPアドレスがあり、サーバーに直接割り当てられるか、ネットワークトラフィックをそのサーバーに送信するルーターを介して割り当てられます。
IPアドレスは、 ipinfo.io が提供する2つの便利なAPIを使用して、世界中のサーバーの場所を追跡する簡単な方法を提供します。 およびipvigilante.com 都市を取得するには 、状態 、および国 サーバーに接続されています。
Curlとjqをインストールする
サーバーのIPアドレスの地理的位置を取得するには、curlコマンドラインダウンローダーと jqをインストールする必要があります ジオロケーションAPIからのJSONデータを処理するためのコマンドラインツール。
$ 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
最後に、次のスクリーンショットに示すように、スクリプトを実行してLinuxIPの地理的位置を取得します。
$ ./getipgeoloc.sh
上記のスクリプトは、都市を示しています および国 おおよその緯度と一緒に名前 および経度 座標。
または、上記のコマンドをスクリプトに保存せずに、上記のように実行することもできます。
$ curl -s https://ipvigilante.com/$(curl -s https://ipinfo.io/ip) | jq '.data.latitude, .data.longitude, .data.city_name, .data.country_name'
次の関連記事もお読みください。
- LinuxターミナルでサーバーのパブリックIPアドレスを見つける4つの方法
- Linuxのネットワークに接続されているすべてのライブホストのIPアドレスを確認する
- ApacheWebサーバーにアクセスする上位10個のIPアドレスを見つける
今のところ以上です!この短い記事では、 curlを使用してターミナルからLinuxIPの地理的位置を取得する方法を示しました。 およびjq コマンド。以下のフィードバックフォームを使用して、ご意見をお聞かせください。またはご質問をお寄せください。