C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

グローバルIPアドレス取得について

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■86943 / inTopicNo.1)  グローバルIPアドレス取得について
  
□投稿者/ TS_SAN (1回)-(2018/04/05(Thu) 07:30:52)

分類:[VB.NET/VB2005 以降] 

お世話になります。

色々調べましたが、サイトなどでは簡単に自身のグローバルIPアドレスを調べることはできますがインターネットブラウザを使用せずにプログラムで自身の「グローバルIPアドレス」の取得って可能ですか?
プログラミング環境はVisual Studio 2017です。(VB or C#)

宜しくお願いします。


引用返信 編集キー/
■86944 / inTopicNo.2)  Re[1]: グローバルIPアドレス取得について
□投稿者/ 774RR (599回)-(2018/04/05(Thu) 09:01:55)
こういうのはネットワーク構成図がないと話が始まらないんだけど、そもそもの開始時点で
[ 自身の gIP ] ってのはどういう定義なのか、質問者と回答者の間で合意がないと話にならない。

The Internet に直結している固定 IP アドレスを持つマシンなら、それが gIP
The Internet に直結している DHCP クライアントマシンなら、それが gIP

いまどき一般的な家庭用の「インターネット接続」つまり、
家庭用ルータの外向けには ISP から DHCP で global IP もらってきて、
家庭用ルータの内向けには private IP の DHCP があって、ルータが NAT/NAPT する、
ような状況であるなら、ルータの外向けアドレスが gIP

最後のものならば UPnP で取得できるよ。 UPnP グローバル IP で検索するとたとえば
http://hikarukaru.jugem.cc/?eid=45
http://mdgw.hateblo.jp/entry/20080204/1202132356
みたいなのがヒットする。

ウチの家庭内 LAN みたいに UPnP を無効化している LAN だと使えないけどね。
そういうときは実際に外に接続してみるしかないだろう。
引用返信 編集キー/
■86945 / inTopicNo.3)  Re[1]: グローバルIPアドレス取得について
□投稿者/ ぶなっぷ (176回)-(2018/04/05(Thu) 09:41:41)
あまり自信が無いのですが、たぶん、こうだろうで話してみます。
間違ってたらスイマセン。

> サイトなどでは簡単に自身のグローバルIPアドレスを調べることはできますが
たぶんだけど、こういうサイトはグローバルIPアドレスを調査するための
スクリプトか何かがサーバ上で動いてる。

TS_SANが求めてるのは、おそらく、ローカルPC上で動作するアプリから調査
したいということでしょう。

両者の違いは、
・前者はスクリプトがそもそもグローバルIP空間上で動作している
・後者はアプリケーションがプライベートIP空間上で動作している

だから、後者はルーター越えをしなきゃならない。
これは大変だ。。。

というわけで、グローバルIPを検索するスクリプトを別途作って(借りて?)、
それにアクセスするアプリを作るのが近道じゃないかな?
引用返信 編集キー/
■86970 / inTopicNo.4)  Re[2]: グローバルIPアドレス取得について
□投稿者/ TS_SAN (2回)-(2018/04/06(Fri) 09:06:43)
774RRさん、ぶなっぷさん、ありがとうございます。

> TS_SANが求めてるのは、おそらく、ローカルPC上で動作するアプリから調査
> したいということでしょう。

ズバリその通りです!


774RRさん、リンク先参考になります。ありがとうございます。
長い道程になりますが、コツコツ勉強していきたいと思います。

ひとまず解決済みとさせて頂きます。
解決済み
引用返信 編集キー/
■86972 / inTopicNo.5)  Re[3]: グローバルIPアドレス取得について
□投稿者/ 774RR (603回)-(2018/04/06(Fri) 09:58:39)
とりあえず家庭内 LAN では既に挙げたとおりなんだけど
一部の ISP では ISP が家庭用ルータの外向けに貸与する IP アドレスがプライベート IP だったり
企業とか学校とかのイントラネットから外を見るときはプロキシサーバの外向け IP アドレスのことだったり
するわけで、状況によって定義が違うっす。だから事前に [gIP] って何?の合意がないと始まらない。

C# で UPnP 使ってみたプログラム例ってことなら
http://blogger.weblix.net/2012/10/upnpip-c.html

HTTP 接続元情報を json で返してくれるサービスならそこらじゅうでやってるし UPnP より確実かも。
接続せずに調べたい、のであれば意味がないけど。
解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ