domain-name-system – 我可以在Bind 9上记录特定的查询吗?

前端之家收集整理的这篇文章主要介绍了domain-name-system – 我可以在Bind 9上记录特定的查询吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想知道哪些主机进行特定的DNS查询,以及在什么时间.有没有办法在Bind 9上获取这个特定的日志?

例如,我可能想记录xyzzy.net的所有A查询.

解决方法

将正确类型的通道节放在named.conf中的logging {}块中.
channel "client" {
            file "/var/log/client_named.log";
            severity info;
            print-time yes;
        };

可能会做的伎俩.这应该会得到这样的数据:

22-Apr-2011 12:06:53.294 client xxx.xxx.xxx.xxx#56202: view external-in: query: st.in.multi.surbl.org IN A +

编辑:警告 – 启用此类日志记录将非常快速生成非常大的日志文件,并且可以轻松填充磁盘而无需进行某种日志轮换/压缩,并且可能最适合于简短的数据收集会话,而不是永久配置.

如果(以及后处理生成的日志文件)太多,您可以使用tcpdump之类的工具执行此操作.

tcpdump -i eth0 dst port 53 | egrep 'A' | egrep 'xyyzyy.com'

甚至更好,编写一个过滤器,只匹配你要过滤的DNS数据包的正确位(在这种情况下为A?类型)

但是,可能更容易使用像dnstop这样的工具. dnstop webpage将为您执行所有协议解码,IIRC您可以使用-n过滤它的输出,以限制它捕获到单个域的内容.

猜你在找的HTML相关文章