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

sht*_*iha 5 .net c# dns wmi

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

IPHostEntry hostEntry = Dns.GetHostEntry("hostname")
Run Code Online (Sandbox Code Playgroud)

不幸的是,如MSDN中所述:

此方法未填充返回的IPHostEntry实例的Aliases属性,并且该属性始终为空。

我计划通过以下方式获取DNS别名:

  1. 在注册表中获取DNS服务器的ipAddresses SYSTEM\CurrentControlSet\Services\Tcpip\Parameter

  2. 使用DNS WMI提供程序在DNS服务器中获取CNAME记录。但是在这种情况下,需要访问DNS服务器的权限。

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

小智 0

关于 DNS Lookup 项目,值得注意的是它有一个名为 DnsProvider 的辅助类,它提供了在不使用注册表的情况下从系统获取 DNS 服务器的“正确”方法。

有关详细信息,请参阅 http://dnslookup.codeplex.com/wikipage?title=Usage&referringTitle=Documentation 。