Domain-Name-System

記錄查詢時有什麼方法可以過濾 IP?(綁定 9.3)

  • November 6, 2009

我想記錄從特定 ip對我的 DNS 的查詢。這可能嗎?

現在我有這個:

channel query_log {
               file "/var/named/data/queries.log" versions 2 size 1G;
               severity debug 3;
               print-category yes;
               print-severity yes;
               print-time yes;
       };

category queries { query_log;};

正如您可能想像的那樣,“queries.log”文件在我們繁忙的網路上以極快的速度增長。我只想記錄來自特定 IP 的查詢。有沒有辦法使用任何渠道選項來做到這一點?我考慮過創建一個單獨的視圖(以匹配我要記錄的主機),但您只能在 named.conf 中有一個“日誌記錄”選項(不在視圖內):(

謝謝。

我不認為有任何方法可以配置綁定來執行您想要的過濾。

我可以想出兩種方法來實現我相信你想要的結果。

設置綁定查詢日誌,僅保留 1 個版本,並減少您保留的日誌的大小。

執行如下命令,以持續監控查詢日誌的更改並將您要保存的資訊儲存到單獨的文件中。

tail --follow --retry /var/named/data/queries.log \
     | grep 'ip.ad.dd.res' > /var/named/data/queries_ip.ad.dd.res.log

第二種方法是只使用 tcpdump 來擷取來自該主機的所有傳入請求。你會使用這樣的命令。

tcpdump -n dst port 53 and src host ip.ad.dd.res > /var/log/dns_ip.ad.dd.res.log

引用自:https://serverfault.com/questions/81998