如何在 Windows 2008 R2 DNS 服务器的所有正向查找名称中搜索字符串?

如何在 Windows 2008 R2 DNS 服务器的所有正向查找名称中搜索字符串?

有没有办法在 Windows 2008 R2 DNS 服务器中搜索整个正向查找区域?

我想在所有资源记录中搜索NAME和以查找子字符串。RDATA

答案1

您可以使用dnscmd它来枚举区域中的记录。

dnscmd /enumrecords mydomain.com @

然后,您可以在其输出中搜索您的字符串。

dnscmd /enumrecords mydomain.com @ | find "somestring"

或者将其转储到文件中,然后使用你喜欢的任何工具解析该文件

dnscmd /enumrecords mydomain.com @ > mydomain_enum.txt

有一篇关于做类似事情的好文章这里

而且,正如 voretaq 指出的那样,它确实适用于非 AD 集成区域。

答案2

对于 AD 集成区域,您应该能够通过 LDAP 搜索执行此操作。我不确定 MS 使用的 LDAP 模式,但它将涉及类似这样的过滤器(|(name=???)(rrdata=???))——我几乎可以肯定他们不使用namerrdata而是适当替换。

对于非集成区域,可能更容易以 BIND 格式转储区域文件并通过它进行 grep,或者触发 AXFR 并通过它进行 grep。我不知道 Windows 工具中有什么可以让你进行子字符串搜索。
当然,我上次接触 Windows DNS 工具 Win2K 时是 The New Hotness On The Block,所以我的知识有点陈旧……

相关内容