1

我在 cs 文件中使用此代码到 asp.net 页面中,以从登录的用户获取 ip 地址:

cmd.Parameters.AddWithValue("@ip",System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]);

我也想知道他的计算机名。我怎么做?

4

1 回答 1

2

这不一定是可能的。

您可以尝试使用类似的方法从 IP 地址反向查找名称

private string[] GetHostnamesForIpAddress(string ipAddress)
{
   var hostIp= IPAddress.Parse(ipAddress);
   IPHostEntry hostInfo = Dns.GetHostByAddress(hostIp);

   return hostInfo.Aliases;
}

在本地网络上(您的客户端对您来说是本地的,例如在公司网络上),这可能没问题,只要所有客户端在 DNS 中都有反向 ip 映射。

在互联网上,它对大多数客户的工作可能性要小得多。您只有 IP 地址可以继续,通常这些不会设置反向 DNS 映射。事实上,很多机器都在代理和 NAT 网关后面,并且只有私有的、不可路由的 IP 地址,您不可能对其进行反向查找。

于 2010-07-12T10:24:53.283 回答