【问题标题】:how to monitor/sniff local DNS lookups to the windows local DNS? (on XP, Vista, Win7)如何监视/嗅探 Windows 本地 DNS 的本地 DNS 查找? (在 XP、Vista、Win7 上)
【发布时间】:2010-08-17 01:21:05
【问题描述】:

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

例如,某处是否有 Windows 本地 DNS 缓存的日志文件?

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

【问题讨论】:

  • 原生 API 中没有任何内容,WMI 提供程序中没有任何内容。
  • 固然显而易见,但如果您可以禁用 DNSCache 服务,则可以使用网络嗅探 :)

标签: c# .net dns


【解决方案1】:

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

VRTA 和 NMExperts (IIRC) 站点位于托管界面的顶部,如果您想在地方寻找现有消费者以获取示例代码:

【讨论】:

  • 感谢 James - 所以关于“大多数嗅探器无法 AFAIK”您是否碰巧知道 WinPCap 是否可以? (如果我到目前为止一直在使用它)我相信 WinPCap 也可以在 Wireshark 中使用。
  • 顺便说一句 - 没有更基本的方法来监控本地 DNS 缓存,例如日志文件?
  • Re: log - 不幸的是,我找不到任何其他监控方法,尽管这并不意味着它不存在 :) 最终答案可能来自询问其中一个Windows 论坛或通过 Microsoft 支持开票。
  • Re: 嗅探器 - 在我过去使用 winpcap/wireshark 的经验(一年多前)中,它看不到本地主机流量(不是它的错 - 本地主机流量没有被路由通过正常的网络堆栈 - codinghorror.com/blog/2006/05/…)。 AFAIK netmon 必须做特定的工作来支持本地主机流量,但我从来没有真正深入研究过它
猜你喜欢
  • 2010-09-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-03
  • 2016-06-06
  • 2022-06-19
  • 2011-12-15
相关资源
最近更新 更多