微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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过滤它的输出,以限制它捕获到单个域的内容.

原文地址:https://www.jb51.cc/html/228642.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐