c# - 如何在 C# 中获取 ip 地址的 fqdn?

标签 c# .net fqdn

在一台机器上可能有多个 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(可用域)。

关于c# - 如何在 C# 中获取 ip 地址的 fqdn?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5103944/

相关文章:

c# - 如何枚举所有任务,如 Visual Studio 任务窗口

c# - 当xml元素为空时,XmlSerializer抛出异常

c# - 为索引查找 bool 值的更好结构?

.net - 如何计算计算机下载的数量?

java - 使用 FQDN 识别的用户(而不是 IP)远程连接到数据库

kubernetes - 如何为本地集群中的kubernetes容器设置FQDN身份?

c# - Asp.Net 数据属性通过 JS/jQuery 动态更新,但更新的属性在通过代码隐藏检索时不会更新

c# - 不属于 Windows 组或事件目录的人将如何访问 TFS 项目?

c# - 正则表达式在文件夹中查找文件

python - socket.getfqdn() 不返回域,但 socket.gethostname() 返回域吗?