【问题标题】:How to capture loopback traffic in Windows Server 2008如何在 Windows Server 2008 中捕获环回流量
【发布时间】:2012-03-15 11:03:46
【问题描述】:

设置:

  • 我有客户端 C 连接到服务器 S
  • C 和 S 在同一台机器上
  • 在 C 中,服务器地址硬编码为 127.0.0.1。同样,在 S 中,客户端地址硬编码为 127.0.0.1

问题: 我希望能够嗅探客户端和服务器之间的流量。

  • 由于配置原因,我无法将客户端和服务器移动到不同的位置(地址是硬编码的)
  • 安装环回接口并使用诸如 Wireshark+WinPcap 之类的工具并没有任何结果(实际上是 already known,但值得一试)
  • another topic 中建议的 RawCap 不起作用。 IP 127.0.0.1 已列出,但不记录任何流量。
  • 使用rinetd 将流量路由到其他地方,正如建议的here 不起作用(无法在127.0.0.1 上绑定)
  • 对使用 HTTP 本地代理(例如 Fiddler)不感兴趣,因为我还想捕获其他协议
  • 有两个商业工具可以工作,特别是 CommViewLocal Network Monitor,这意味着必须可以这样做;)

如何才能捕获流量? 关于我应该使用的函数或我应该阅读的文档的任何指针?

谢谢!

【问题讨论】:

    标签: sockets network-programming windows-server-2008


    【解决方案1】:

    基本上您需要编写一个 TDI 过滤器驱动程序来实现这一点...对于一些指针,请参阅:

    另一种选择是写WinSock LSP

    注意
    从 Windows 8 开始,强烈建议使用 WFP (Windows Filtering Platform) 处理此类事情...

    尽管仅使用/购买现有解决方案可能更具成本效益 - 尤其是。如果您不是经验丰富的驱动程序开发人员...

    【讨论】:

    • 感谢您的指点。我想这是迄今为止我收到的最好的答案,包括 IRL 的答案 :)
    【解决方案2】:

    使用RawCap,可以解决你的顾虑,见this

    【讨论】:

    • 实际上没有工作。正如我在描述中所写,在 RawCap 中列出了 IP 127.0.0.1,但不记录任何流量。
    猜你喜欢
    • 1970-01-01
    • 2017-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-02
    相关资源
    最近更新 更多