如何找到DNS流量的源进程?

问题描述

每天在特定时间,tcpdump 中都会有拒绝 DNS 流量用于此 DNS 流量。

03:10:01.188267 IP hostname.21355 > h.root-servers.net.domain: 52619% [1au] NS? . (28)
03:10:01.188294 IP hostname.19992 > e.root-servers.net.domain: 33364% [1au] NS? . (28)
03:10:01.564808 IP hostname.27167 > e.root-servers.net.domain: 17614% [1au] NS? . (28)
03:10:01.564845 IP hostname.47993 > h.root-servers.net.domain: 39462% [1au] NS? . (28)
03:10:01.941076 IP hostname.33760 > j.root-servers.net.domain: 56169% [1au] NS? . (28)
03:10:01.941446 IP hostname.7920 > h.root-servers.net.domain: 54000% [1au] NS? . (28)
03:10:02.317699 IP hostname.4292 > j.root-servers.net.domain: 11824% [1au] NS? . (28)
03:10:02.694087 IP hostname.55797 > c.root-servers.net.domain: 20468% [1au] NS? . (28)
03:10:02.694383 IP hostname.29552 > h.root-servers.net.domain: 62991% [1au] NS? . (28)
03:10:03.070598 IP hostname.42961 > c.root-servers.net.domain: 47966% [1au] NS? . (28)
03:10:03.447014 IP hostname.23176 > d.root-servers.net.domain: 61501% [1au] NS? . (28)
03:10:03.447366 IP hostname.14098 > b-2016.b.root-servers.net.domain: 24736% [1au] NS? . (28)

但是即使在没有睡眠的 while 循环中调度连续的 netstat -tulpne,我们也无法找到源进程。连接立即失败,因此我想没有在 netstat 中捕获。甚至 PID 也仅在几分之一秒内处于活动状态。

有没有办法找到发起这个连接的源进程?

解决方法

这些查询称为启动查询。 DNS 解析器使用它们来更新 DNS 根服务器的列表和 IP 地址。您可能有一个 DNS 服务器(例如 BIND 或 Unbound)在运行,它使用这些查询来保持缓存更新。