コマンドラインで自分のグローバルアドレスを取得する方法

先日、SSHサーバーを踏み台にしてWebアクセスする記事を書きました。

その時、アクセス元のグローバルアドレスなどを確認できるページを作ってリンクしたのですが、「そういえばコマンドラインからグローバルアドレスを取得できたほうが便利だな」と思って、調べてみました。

やはり、ありました。以下のコマンドです。

curl ifconfig.io

このコマンドを実行することで、http://ifconfig.ioから返されたグローバルアドレスが出力されます。

以下のように、HTTPSで取得することもできます。

curl https://ifconfig.io

これで、わざわざブラウザを開かなくてもグローバルアドレスが取れますね。aliasを作成しておくと便利そうです。

なお、ブラウザでifconfig.ioにアクセスすると、使い方を書いたページが表示されます。IPアドレス以外にも、以下のような情報を取得できます。

アクセス元ホスト名

curl ifconfig.io/host

国コード

curl ifconfig.io/country_code

User-Agent

curl ifconfig.io/ua

アクセス元ポート番号

curl ifconfig.io/port

Accept Language

curl ifconfig.io/lang

Accept Encoding

curl ifconfig.io/encoding

Accept MIME Types

curl ifconfig.io/mime

X-Forwarded-For

curl ifconfig.io/forwarded

すべての情報をGo言語のMapで出力

curl ifconfig.io/all

すべての情報をJSON形式で出力

curl ifconfig.io/all.json

うまく自作のプログラムに組み込んだりしても面白そうですね。

なお、ifconfig.ioのソースコードはGitHubで公開されています。なので、自分のLinuxサーバーで動かすことも可能でしょう。