使用通配符进行 DNS 搜索?

Try*_*ain 11 domain-name-system ldap query dig nslookup

任何类似nslookupdig提供基于名称中包含的内容进行搜索的功能......例如通配符搜索或其他内容?

我正在尝试为我们的帮助台团队制作一个带有 GUI 包装器的小脚本。理想情况下,我希望他们能够搜索用户的姓氏(DNS 记录中始终存在的名称),然后我将使用可能的选项填充下拉列表以供选择。

我无法找到一种方法来有效地拥有相当于nslookup *miller*......然后回来会很棒

Name: sf-jacobmiller.localdomain.com
Address: 10.10.10.121

Name: sf-justinmiller.localdomain.com
Address: 10.10.10.144
Run Code Online (Sandbox Code Playgroud)

..然后我可以解析成一个下拉菜单供他们选择。

我还没有研究ldapsearch可以做我正在寻找的事情的可用内容。我唯一的要求是它内置于 OSX 中,我不需要安装任何其他东西,否则我愿意接受您可以提供的任何解决方案。谢谢

Sha*_*den 12

您可以通过区域传输获得区域中条目的完整列表;您需要为 DNS 服务器中的授权系统允许这样做。

完成后,您可以运行传输并 grep 结果:

dig axfr localdomain.com | grep -i miller
Run Code Online (Sandbox Code Playgroud)


小智 8

名称服务器在设计上不会让您搜索区域或查询它对哪些区域具有权威性。除了减少攻击向量的明显原因(如果您不知道主机的名称,您就无法向主机发出 HTTP/1.1 请求),还有一个很好的理由:区域本身可以包含通配符,因此询问对于这样一个区域中的每个主机,就像除以零一样。

如果您操作要搜索其记录的名称服务器,则可以将区域转移到本地名称服务器并直接搜索记录。您仍然需要以它们传输的任何格式解析文本记录,因为本地名称服务器不会有任何不同的响应。


Chr*_*rin 6

您只能询问 DNS 服务器是否有特定记录。所以,不会有这样的 DNS 工具。

编辑

如果可用,Zonetransfer 当然是可能的。

  • @TryTryAgain 措辞也有点粗鲁。如果答案和你说的一样明显,你就不必发布这个问题了。我们都在这里互相帮助……通常是。 (4认同)
  • @TryTryAgain 实际上,在一般情况下,他是完全正确的:请注意您接受的答案中的关键词:“需要允许 DNS 服务器中的授权系统这样做”。例如,如果您尝试为“serverfault.com”(或实际上几乎不受您控制或未与 DNS 管理员安排的几乎*任何*区域)进行区域传输,您将不会得到任何结果。 (3认同)