在一台机器上可能有几个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地址的机器,ping使用他们的fqdn返回正确的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;
工作正常.
最佳答案 您将每个IP地址解析为netbios名称.
Dim hostEntry As System.Net.IPHostEntry = System.Net.Dns.GetHostEntry("192.168.115.54")
Console.WriteLine(hostEntry.HostName)
例如,如果我解决了我的IP,我得到:
PC-MYNAME.MYDOMAIN.local
然后,您还可以使用ActiveDirectory枚举CurrentForrest(可用域).