由DNS服务器管理的域的列表

由DNS服务器管理的域的列表,dns,Dns,我们有一个运行Ensim的服务器,Ensim是一个老式的类似Plesk的工具,它让我们的行为就像是一个web主机。多年来,我们慢慢退出了托管业务,但我们的服务器上仍有一些客户端。该服务器也是一个DNS服务器,我发现我们正在为旧客户端的服务提供DNS,而我们甚至不再托管这些服务。我们的目标是关闭服务器,但首先我们需要通知客户它可能对他们造成的任何影响。我注意到的一点是,我们仍然有许多域的DNS区域条目,但这并不一定意味着这些域正在使用我们的DNS服务器。这只是意味着我们还有记录。这使得很难区分哪些

我们有一个运行Ensim的服务器,Ensim是一个老式的类似Plesk的工具,它让我们的行为就像是一个web主机。多年来,我们慢慢退出了托管业务,但我们的服务器上仍有一些客户端。该服务器也是一个DNS服务器,我发现我们正在为旧客户端的服务提供DNS,而我们甚至不再托管这些服务。我们的目标是关闭服务器,但首先我们需要通知客户它可能对他们造成的任何影响。我注意到的一点是,我们仍然有许多域的DNS区域条目,但这并不一定意味着这些域正在使用我们的DNS服务器。这只是意味着我们还有记录。这使得很难区分哪些条目正在使用,哪些只是旧的孤立条目


我的问题是,是否有某种工具可以告诉我哪些域正在使用我们的DNS服务器?我看到了很多方法来键入一个域,并获取DNS服务器,但我需要转到另一个方向,即键入DNS服务器并获取域。是否存在类似的情况?

如果您有感兴趣的域名的完整列表,您可以使用dig的特殊批处理模式,在一次查询中列出所有这些域名的所有名称服务器。从dig的手册页:

[-f filename]选项通过从文件名读取要处理的查找请求列表,使dig在批处理模式下运行。该文件包含许多查询,每行一个。文件中的每个条目的组织方式应与使用命令行界面显示为要挖掘的查询的方式相同

通常,您会使用:
dig ns microsoft.com
在linux命令行获取microsoft的名称服务器。由于您需要多个域名,因此可以创建一个包含域名列表的文件,每行一个。假设您创建了一个名为
domainlist
的文件,其中包含以下行:

microsoft.com
yahoo.com
google.com
然后,您可以使用:

dig ns -f domainlist
列出所有名称服务器记录。我个人更喜欢这种变化:

dig +noall +answer ns -f domainlist
因为这提供了一个非常短的NS记录列表,没有我不感兴趣的注释或其他记录。您还可以通过使用相同的方法查找mx记录,检查客户端域的电子邮件记录是否仍委派给邮件服务器:

dig +noall +answer mx -f domainlist

狩猎快乐

难道你不能得到你所托管的所有站点的列表并逐个查询DNS托管站点的域是什么吗?是的,但考虑到有很多域,这有点让人望而生畏。我想知道是否有其他(更快的)方法来做到这一点。