识别 DNS 查询进程

使用场景

  • 发现哪些进程向给定的解析器发送 DNS 流量。
  • 通过组合端口和主机过滤器来跟踪出站请求。
  • 识别哪个应用程序是大量 DNS 流量的来源。
  • 检测正在进行 DNS 查询的恶意软件或其他不需要的软件。
  • 通过识别哪个进程正在向配置错误或无响应的 DNS 服务器发送查询来排查 DNS 解析问题。

命令

sudo ptcpdump -i any 'port 53 and host 1.1.1.1'

在 DNS 查找期间运行捕获。ptcpdump 会为每个数据包注释上负责查询的 PID 和命令行,从而可以轻松地查明意外的解析器或配置错误的服务。

输出示例

14:25:26.218806 ens33 dig.242610 Out IP 10.0.2.15.38641 > 1.1.1.1.53: 42024+ [1au] A? kernel.org. (51), ParentProc [bash.101064]
14:25:26.387748 ens33 dig.242610 In IP 1.1.1.1.53 > 10.0.2.15.38641: 42024 1/0/1 A 139.178.84.217 (55), ParentProc [bash.101064]