如何在 C# 中获取 IP 地址的 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
Name2
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;
可以正常工作。
On a machine there might be several IP addresses available. How can I find out all the belonging full qualified domain names (fqdn)?
Update:
I tried the following:
IPHostEntry he = Dns.GetHostEntry(Environment.UserDomainName);
foreach (IPAddress ipAddress in he.AddressList)
{
string x = ipAddress.ToString();
string y = Dns.GetHostEntry(ipAddress.ToString()).HostName;
}
I have a machine with 2 IP addresses, the ping using their fqdn returns the correct IPs. However, the code above always return me the one fqdn of the first IP.
My setup looks as follows:
IP1:
123.123.123.123
Name1
IP2:
456.456.456.456
Name2
Both ping and nslookup returns correct value.
The problem is that both rows
Dns.GetHostEntry("123.123.123.123").HostName;
Dns.GetHostEntry("456.456.456.456").HostName;
returns "Name1" (instead of "Name1" and "Name2").
However, the codes
Dns.GetHostEntry("Name1").HostName;
Dns.GetHostEntry("Name2").HostName;
work correctly.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您将每个 IP 地址解析为 netbios 名称。
例如,如果我解析我的 IP,我会得到:
然后您还可以使用 ActiveDirectory 枚举 CurrentForrest(可用域)。
You resolve each IP address to the netbios name.
For example if I resolve my IP i get:
Then you can also use ActiveDirectory to enumerate the CurrentForrest (available domains).