C#IPなどのネットワーク情報の取得


1 ASP.NETでIP情報を取得
Page.Request.UserHostName;  //         
Page.Request.UserHostAddress;  //       IP  

2 WebServiceでクライアントIP情報を取得
HttpContext.Current.Request.UserHostAddress;  //       IP  

場合によっては、クライアント機器がローカルエリアネットワーク内またはエージェントを介してネットワークに接続するため、Page.Request.UserHostAddressはクライアントIPを正しく取得できないことが多く、以下の方法でクライアントの実際のIPを取得することができる.
public static string GetClientIP(HttpRequest request)
{
string ip = request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (string.IsNullOrEmpty(ip))
{
    ip = request.ServerVariables["REMOTE_ADDR"];
}
if (string.IsNullOrEmpty(ip))
{
    ip = request.UserHostAddress;
}
return ip;
}

3 C#ネットワークプログラミングの一般的な方法
System.Net.Dns.GetHostName();        //      
System.Net.Dns.GetHostAddresses();   //                IP  ,  IPAddress