繁体   English   中英

如何在C#中获取IP地址的fqdn?

[英]How to get fqdn of ip addresses in c#?

在计算机上,可能有多个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;

正常工作。

您将每个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(可用域)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM