我在 cs 文件中使用此代码到 asp.net 页面中,以从登录的用户获取 ip 地址:
cmd.Parameters.AddWithValue("@ip",System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]);
我也想知道他的计算机名。我怎么做?
这不一定是可能的。
您可以尝试使用类似的方法从 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 地址,您不可能对其进行反向查找。