C# 如何监视/嗅探对windows本地DNS的本地DNS查找?(在XP、Vista、Win7上)

C# 如何监视/嗅探对windows本地DNS的本地DNS查找?(在XP、Vista、Win7上),c#,.net,dns,C#,.net,Dns,在.NET中(对于在XP、Vista或Windows 7上运行的WPF应用程序)是否有方法监视/嗅探应用程序正在对本地DNS进行的DNS查找 例如,是否有windows本地DNS缓存的日志文件 (背景-解析网络数据包似乎不起作用,因为如果DNS已缓存在Windows DNS中,则可能无需在PC外部发出DNS查找)FWIW,检查tcpview+perfmon/res,dnscache似乎在UDP端口5355上侦听“localhost”(在我的win7上同时适用于ipv4和ipv6),由于netmo

在.NET中(对于在XP、Vista或Windows 7上运行的WPF应用程序)是否有方法监视/嗅探应用程序正在对本地DNS进行的DNS查找

例如,是否有windows本地DNS缓存的日志文件


(背景-解析网络数据包似乎不起作用,因为如果DNS已缓存在Windows DNS中,则可能无需在PC外部发出DNS查找)

FWIW,检查tcpview+perfmon/res,dnscache似乎在UDP端口5355上侦听“localhost”(在我的win7上同时适用于ipv4和ipv6),由于netmon可以捕获本地主机流量(大多数嗅探器无法捕获),因此您应该能够使用NMAPI(安装后查看Microsoft Network Monitor 3\api\NetmonAPI.cs)来监视该流量

  • NetMon:
VRTA和NMExperts(IIRC)站点位于托管界面顶部,如果您希望查找现有消费者的示例代码:

  • VRTA:
  • N专家:

本机API中没有任何内容,WMI提供程序中也没有任何内容。诚然,这是显而易见的,但如果您同意禁用DNSCache服务,则可以使用网络嗅探:)谢谢James-那么“大多数嗅探器都不会”您是否碰巧知道WinPCap是否可以?(如果到目前为止我正在使用这个)WinPCap也会在Wireshark中使用,我相信。顺便说一句-没有更基本的方法来监视本地DNS缓存,例如日志文件?Re:log-不幸的是,我找不到任何其他监视方法,虽然这并不意味着它不存在:)最终的答案可能是在某个Windows论坛上询问,或者在Microsoft支持下打开一张罚单。Re:sniffers-根据我过去使用winpcap/wireshark的经验(一年多以前),它看不到本地主机流量(不是它的错-本地主机流量不能通过正常的网络堆栈路由-)。AFAIK netmon必须做一些特定的工作来支持本地主机流量,但我从未真正深入研究过它