- PR -

ClientのIPアドレス取得について

1
投稿者投稿内容
二世
会議室デビュー日: 2009/03/04
投稿数: 1
投稿日時: 2009-03-04 18:37
VS2008のASP.Net Webサービスで開発を行っています
WebServiceでのClient情報取得の方法で質問させてください

ClientのIPアドレス情報を下記Requestから取得しようと考えていました
System.Web.HttpContext.Current.Request.ServerVariables("REMOTE_ADDR")

取得の結果、XP端末からの情報にはIPv4が設定されており
Vista端末からのRequest情報にはIPv6が設定されていました

ただ今回の要件としてIPv4を取得したいことと
Vista端末が多い為、端末のIPv6設定を外す作業はしたくない
ことから下記記述に変更しました

For Each Ip As System.Net.IPAddress In System.Net.Dns.GetHostEntry(System.Web.HttpContext.Current.Request.ServerVariables("REMOTE_ADDR")).AddressList
'IPv4の場合
If Ip.AddressFamily = Net.Sockets.AddressFamily.InterNetwork Then
wrktext = Ip.ToString
End If
Next

これで、Vista機のIpv4は取得することができたのですが
結局System.Net.Dns.GetHostEntryとは
通信を発生させClientに情報を取得しに行っていると
考えてよろしいでしょうか?

もしそうであれば避けるべきかと考えているのですが。

他にもっといい方法あるのであればご教授ください。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2009-03-04 18:42
ネットワーク トラフィックを監視すればわかると思います。DNS サーバーへ問い合わせに行ってると思いますよ。

追記
引用:

Dns.GetHostEntry メソッド (IPAddress)
GetHostEntry メソッドは、DNS サーバーで IP アドレスに関連付けられた IP アドレスおよびエイリアスを照会します。



[ メッセージ編集済み 編集者: Jitta 編集日時 2009-03-04 22:17 ]
1

スキルアップ/キャリアアップ(JOB@IT)