vbでグローバルIPアドレスを調べる
プログラムを作ることは可能なんでしょうか?
できるとしたら、どのようにすればいいのでしょうか?
いくつか方法があるにはあるのですが・・・
窓の杜やベクターでも入手可能なソフトですが、方法としては
1.ルータにアクセスして、グローバルアドレスを取得する。
2.Tracertと同じ方法で自分に一番近いと思われるアドレスを取得する。
3.インターネットの外にアクセスして、外部からこちらのアクセスの
為のグローバルアドレスを取得する。
の3方法かと・・・
ですが、問題があり・・・
1.ルータのメーカー・機種によって、その方法はまちまち。
2.Unnumberdの場合、ルータがアドレスを返さない。
よって、3.の方法が一番有力かと・・・
● どこかで今も掲載されていると思いますが、Webサーバー
にアクセスすると、こちらのブラウザの環境やIPアドレス
が、ホームページに表示される・・・
結果として、フリーやシェアウェアで出ているアドレス取得
のソフトは、Webサーバー上に置かれたCGIかソフトで
アクセスしてきた側の情報をWeb経由(HTTP)で取得
し、グローバルアドレスを解決・表示するというものです。
たとえば・・・
http://www.accession.jp/check.asp
ここのURLをブラウザで見てもらえれば、画面に自分の側
のルータのグローバルアドレスが表示されると思います。
※ そうならなかったらすみません・・・
自分の側で、チェックのしようが無いもので・・・
で、この表示をプログラム中から参照・取得して、グローバル
アドレスとして知ると言うことになります。
多分、一番これが簡単で確実な取得方法だと思います。
※ インターネット上で、ブラウザでURLを見たらそのアクセス
元の情報を表示するサイトを探されて、アドレスを取得すると
言うソフトを製作することになります。
もし、自分が自由に触れるインターネット上のWebサーバー
があるのであば、そこにアクセス元の情報を表示させるCGI
かプログラムを置き、利用することになります。
当然、IISでもOKです。
私の会社のIISで行えるのですから・・・
ご参考までに。
以上。
岡田 之仁さん丁寧な説明ありがとうございます。
ここは、VBのページですが、
VCでも、グローバルIPアドレスを調べる
APIはないのでしょうか?
実現したいアルゴリズムを、何かの言語で記述して・・・
と言うことですので、今回は、何らかのソケット通信で、
『何かとやりとり』を行い、そこから得られる情報が、
最終的に欲しいものですから・・・
楽に結果を得る・・・
と言うのであれば、使用言語の性能に左右はされます。
ただし、VCに・・・と言うことですが、私もVCは使って
ますが、そこまで楽チンなものは用意されていません。
※ もし、http://www.accession.jp/check.asp にアクセス
して、アドレスが正しく表示されましたでしょうか?
頑張って下さい。
以上。