Windows中监控进程的DNS查询

💡 原文中文,约2000字,阅读约需5分钟。
📝

内容提要

Windows的DNS客户端服务(Dnscache)与进程的DNS查询紧密结合,Win10无法停用Dnscache,无法直接阻断DNS查询。可以通过ETW日志查看DNS查询,推荐使用nirsoft的DNSLookupView工具,便于实时监控进程解析的FQDN,支持PID与进程名的转换,操作简单。

🎯

关键要点

  • Windows的DNS客户端服务(Dnscache)与进程的DNS查询紧密结合,Win10无法停用Dnscache。
  • 在Win10及之后版本,DNS查询必须通过Dnscache的RPC流程,无法直接阻断DNS查询。
  • 使用Wireshark捕捉53/UDP报文无法精确对应到发起进程,且Cache命中时不会有53/UDP通信。
  • 可以通过Event Tracing for Windows(ETW)日志查看DNS查询,Windows自带工具操作不便捷。
  • nirsoft的DNSLookupView工具提供了GUI界面,能够实时监控进程解析的FQDN,并支持PID与进程名的转换。
  • DNSLookupView的操作简单,支持域名黑、白名单,适合快速消失的进程监控。

延伸问答

Windows中如何监控进程的DNS查询?

可以使用nirsoft的DNSLookupView工具,它提供了GUI界面,能够实时监控进程解析的FQDN,并支持PID与进程名的转换。

Win10中能否停用Dnscache服务?

在Win10及之后版本中,无法停用Dnscache,DNS查询必须通过Dnscache的RPC流程进行。

如何查看Windows的ETW日志以监控DNS查询?

可以使用Windows自带的logman、tracerpt、eventvwr.msc等工具查看ETW日志,但操作不便捷,也可以使用PowerShell查看。

Wireshark能否精确捕捉到发起DNS查询的进程?

Wireshark无法精确对应到发起DNS查询的进程,且在Cache命中时不会有53/UDP通信,因此无法捕捉到相关报文。

DNSLookupView工具有哪些主要功能?

DNSLookupView可以实时监控DNS查询,支持PID与进程名的转换,并提供域名黑、白名单功能,操作简单。

在Windows中如何处理快速消失的进程的DNS查询?

使用DNSLookupView工具可以实时将PID转换成进程名,适合监控那些快速消失的进程。

➡️

继续阅读