51043


表題どおりです。  
多段ルータやNATを考慮すると、自分のグローバルIPアドレスは単に手元のルータを調べればわかる、というわけではないですよね。

ちょっとググればグローバルIPアドレスを返すWebサービスなりAPIなりはたくさん見つかりますが、こうした(必ずしも信頼できない)個人や私企業の運営するサービスに依存することなく、自分のグローバルIPアドレスを確認する「正しいやり方」ないしよく利用される定石はあるでしょうか。


CC BY-SA 4.0
2018-12-08T04:37:39.800
51021
2018-12-08T12:51:01.690
10685
question
network
グローバルIPアドレスを確認する、信頼できる方法


インターネット経由でSSHでログインできるLinuxサーバーがあれば、SSHでログインして以下のコマンドで自分のグローバルIPアドレスがわかります。

[code]

    who am i
    
[/code]

また、Google の検索で、[設定]->[言語]で「言語」を「英語」に設定して、以下を入力するとIPアドレスが表示されます。

[code]

    what is my ip
    
[/code]

自分でIPアドレスを表示したいのであれば、何かのスクリプトが動作する公開サーバーが必要になります。Heroku や Google App engine
を使えば無料でできます。使用する言語やフレームワークによってやり方が違ってくるので、詳細は自分で調べてください。自分はGoogle App
engineを使って作っています。[Google App Engine で WAN 側 IP
アドレスを取得](https://creativeweb.jp/archive/368/)


CC BY-SA 4.0
2018-12-08T07:15:24.633
51031
2018-12-08T07:15:24.633
15171
51021
answer


グローバルIPアドレスが自分の管理下にない場合には、通信に使われているアドレスが何かを確実に把握する信頼できる方法はありません。

自分の管理下というのは、自分の管理下の機器にグローバルIPアドレスが直接付与されている場合のほかに、契約によりグローバルIPアドレスが特定できる場合などです。

何らかの相手にTCP/IPで通信を行い相手方で接続元のアドレスを確認する方法は簡易的には使用できますが、確実な方法ではありません。

例えばキャリア側でNATされているような場合、通信の都度NATされた後のアドレスが変わる可能性があります。また、トランスペアレントなプロキシがいる場合など、プロトコルによって通信経路が異なる場合もあります。

ですので、「接続元のアドレスを表示してくれる何か」を、第三者が運用していようが自分で運用していようが信頼度に大きく差があるとは言いがたいです。httpbin.orgとか使っておけば十分です。それが信頼できないような用途であれば、契約でIPアドレスが特定できる環境にすることが必要です。


CC BY-SA 4.0
2018-12-08T12:51:01.690
51043
2018-12-08T12:51:01.690
5793
51021
answer