Dns.GetHostAddresses()为同一域中的不同主机名提供相同的IP地址

时间:2015-10-14 05:09:33

标签: c#

我试图通过向Dns.GetHostAddresses()成员函数提供HostName来获取位于同一域中的不同计算机的IP地址,但它返回所有计算机的69.172.200.109 IP地址。我没有知道确切的解决方案。对此的解决方案非常感谢。

IPAddress [] ips;                 ips = Dns.GetHostAddresses(hostName);                 foreach(ips中的IPAddress ip)                 {                     if(ip.AddressFamily == AddressFamily.InterNetwork)                     {                         ipAddress = ip.ToString();                         打破;                     }                 }

2 个答案:

答案 0 :(得分:-1)

如果中间有另一台服务器,则会遇到您遇到的情况,它根据请求中收到的主机名将请求路由到适当的服务器。您正在服务的地址可能是该中间服务器的地址。有关详细信息,请参阅Virtual web hosting

其次,如果它是您要查询的本地DNS,请确保仔细检查那里配置的地址。

答案 1 :(得分:-1)

您可以尝试以下代码来获取所有IP地址

  String strHostName = Dns.GetHostName();

// Find host by name
IPHostEntry iphostentry = Dns.GetHostByName(strHostName);

// Enumerate IP addresses
foreach(IPAddress ipaddress in iphostentry.AddressList)
{
    ....
}