此脚本利用 Bro 中内置的概率测量机制,在可定义的时间段内测量最热门的 DNS 请求(按查询类型,例如 CNAME、A、AAAA 等)。这些结果会记录到一个名为 "top_dns.log" 的新日志中。
通过使用概率机制,它可以以内存高效的方式完成此任务,并且加载此脚本不会对大多数部署产生真正显著的性能影响。
::
bro-pkg refresh
bro-pkg install bro/corelight/top-dns
如果您想更改日志记录/测量间隔,请使用以下代码片段(默认为 15 分钟)::
redef TopDNS::logging_interval = 1hr;
如果您想记录多于或少于每种查询类型默认的 10 个名称,可以使用以下代码片段::
redef TopDNS::top_k = 20;
如果您想添加诸如 MX 记录查询之类的测量项,可以添加以下代码片段::
redef TopDNS::records += {"MX"};
默认情况下,此包将基于完整域名进行测量。如果您希望基于修剪到“域名”(www.google.co.uk 将被修剪为 google.co.uk)进行测量,可以在 local.bro 中使用以下代码片段::
redef TopDNS::use_trimmed_domain = T;