【发布时间】:2011-02-24 11:21:54
【问题描述】:
在一台机器上可能有多个可用的 IP 地址。如何找出所有所属的完全限定域名 (fqdn)?
更新:
我尝试了以下方法:
IPHostEntry he = Dns.GetHostEntry(Environment.UserDomainName);
foreach (IPAddress ipAddress in he.AddressList)
{
string x = ipAddress.ToString();
string y = Dns.GetHostEntry(ipAddress.ToString()).HostName;
}
我有一台有 2 个 IP 地址的机器,使用它们的 fqdn 的 ping 会返回正确的 IP。但是,上面的代码总是返回第一个 IP 的一个 fqdn。
我的设置如下:
IP1:
123.123.123.123
姓名1
IP2:
456.456.456.456
名称2
ping 和 nslookup 都返回正确的值。
问题是两行
Dns.GetHostEntry("123.123.123.123").HostName;
Dns.GetHostEntry("456.456.456.456").HostName;
返回“Name1”(而不是“Name1”和“Name2”)。
但是,代码
Dns.GetHostEntry("Name1").HostName;
Dns.GetHostEntry("Name2").HostName;
正常工作。
【问题讨论】:
-
有趣的是,单独的计算机名称在两个查找中当然是相同的。也许您应该尝试告诉 System.Net 通过 IP2 上的连接查找 IP2 ?