如何找出哪个应用程序正在发出 DNS 请求?

如何找出哪个应用程序正在发出 DNS 请求?

我在我的机器上使用 BIND9 作为仅缓存名称服务器。

BIND 只监听本地主机,并且只允许本地主机查询 DNS 服务器。我使用它来缓存对 RBL 列表的请求,因为该机器是邮件服务器。

我从 BIND 收到很多有关不完善的服务器解析的警告:

named[1017]: lame server resolving 'www.gadgethive.com' (in 'gadgethive.com'?): 109.73.163.116#53
named[1017]: lame server resolving 'www.gadgethive.com' (in 'gadgethive.com'?): 109.73.163.115#53
named[1017]: lame server resolving 'www.gadgethive.com' (in 'gadgethive.com'?): 109.73.163.116#53

我明白这意味着什么,但我找不到这条消息的罪魁祸首。日志中始终是同一个域,通过检查邮件服务器日志,我找不到带有该域的电子邮件。

更糟糕的是,当这些日志记录在系统日志中时甚至没有收到一封电子邮件。

有没有办法找到服务器上哪个进程正在发出此请求?

答案1

BIND9 没有什么要求进行查找。它只知道在端口上建立了连接……并且它要求提供一些 DNS 记录。最好的办法是使用 iptables 记录 DNS 连接。从那里您可以准确找出谁连接了以及何时连接,并交叉引用它们。

相关内容