DNS服务器上的域名列表?

有没有办法在我的BIND DNS服务器上获得A和CNAMElogging的完整列表?

我有权访问区域文件。 但是在我的服务器上有很多的区域文件,手工完成这些文件需要很长的时间。 有没有列出这个信息的命令,还是我必须自己写一个脚本?

而不是在所有的区域文件上使用grep ,使用:

 % rndc dumpdb -zones 

这将创build名为named_dump.db的服务器授权数据的named_dump.db ,可能位于/var/named/data (或类似)中。

这个文件比原来的区域文件更容易parsing,因为每一行都以它所应用的域名开始。 原始区域文件可能会缩写。

从你的var/named/data (或者等价的目录)grep通过db。*文件和一个适当的正则expression式,例如:

 grep '\(. *A *[0-9][0-9]*\)\|\(..*CNAME..*\)' db.* 

请注意,最后的“db。*”包含所有的db文件。 重复每个你有区域文件的目录。

为我在我的域名列表; 做dig -t axfr $ i @localhost; DONE

必须先允许从本地主机进行区域传输。