たかつです。


記事 <YAS.06Aug11164913@kirk.is.tsukuba.ac.jp> で
        Yasushi Shinjoさんは書きました

> NAT を行うルータがあります。NAT の内側では、プライベート・ア
> ドレスを使っていて、NAT でグローバルに変換しています。NAT の
> 内側にあるコンピュータで、NAT の外側のアドレスを知るうまい方
> 法はないでしょうか。

ルーターが UPnP に対応しているのなら、UPnPでグローバルアドレスの取得が
可能です。私は

http://www.bosuke.mine.nu/neta/upnp.shtml

を参考にしました。

ルーターを機種限定してIPアドレスも分かっている状況なら、プログラムを
組まなくても、リクエスト用のxmlデータをあらかじめ作っておいて送り
つければ簡単に取得できると思います。



UPnP 非対応なルーターでも、web 経由とか telnet とかで通信状態の表示が
できるのなら、ルーターにログインして通信状況を取得するスクリプトか何かを
走らせるという方法もありますね。

通信状況を表示するページをいきなり GET してやる、と。


それも無理となると、

> 1つ思いついたのは、外側にある Web サーバで、CGI を動かして、
> REMOTE_ADDR を取るという方法です。Web サーバを維持するのが少
> し面倒です。

この方向ですが、

どっかの適当な SMTP サーバに HELO して、その返事を見るというが簡単じゃ
ないでしょうか。

> % telnet doga.jp smtp
> Trying 219.117.196.238...
> Connected to doga.jp.
> Escape character is '^]'.
> HELO example.com
> 250 maha2.doga.co.jp Hello 219.117.196.43.user.rb.il24.net [219.117.196.43], pleased to meet you

こんな感じです。

PROJECT TEAM DoGA 高津正道                            taka2@doga.jp
                                                   TBD00456@nifty.ne.jp
                     PROJECT TEAM DoGAのホームページ → http://doga.jp/
8月11日(金) 今日のマーフィーの法則    [芸術および科学における黄金率]
規則は、黄金を持つ者によって作られる。