gpt4 book ai didi

c# - 如何获取指定主机名的DNS别名?

转载 作者:行者123 更新时间:2023-12-03 17:20:27 24 4
gpt4 key购买 nike

我想获取有关指定主机名的 DNS 别名的信息。
我用了 :

IPHostEntry hostEntry = Dns.GetHostEntry("hostname")

不幸的是,正如 MSDN 中提到的:

The Aliases property of the IPHostEntry instance returned is not populated by this method and will always be empty.



我计划以这种方式获取 DNS 别名:
  • 在注册表中获取 DNS 服务器的 ipAddresses SYSTEM\CurrentControlSet\Services\Tcpip\Parameter .
  • 使用 DNS WMI 提供程序获取 DNS 服务器中的 CNAME 记录。但在这种情况下,需要访问 DNS 服务器的权限。

  • 我的计划正确吗?
    是否有另一种方法可以在未经 DNS 服务器许可的情况下获取 CNAME 记录?

    最佳答案

    没有完全回答你的问题,但正如你所指出的,别名不是由 GetHostEntry 填充 - 方法 Dns.GetHostByName 和 Dns.Resolve 确实填充了 别名 _0x1046.77

    它给出了一个你可能称之为愚蠢不完整的别名列表——据我所知,它只在按名称查找的情况下添加别名,而该名称就是别名。

    所以基本上如果返回的主机名与你输入的不同,那么你输入的就是别名。返回的别名值确实具有完全限定的名称。所以这似乎只是一种获取别名的完全限定名称的方法。

    您应该注意到,对于 Microsoft,这些方法都已过时,类 Dns 中的大多数方法也是如此。

    另见stackoverflow帖子

  • .NET GetHostByAddress aliases only showing up 8 entries
  • C# resolving DNS aliases for a host
  • 关于c# - 如何获取指定主机名的DNS别名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5159176/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com