networking - 捕获 Windows XP 本地主机 TCP 流量

标签 networking windows-xp winsock wireshark winpcap

我已经阅读了大量关于这个主题的文章 - 捕获 Windows XP 本地主机 TCP 流量。

似乎有几种方法:

1/使用 RawCap.exe 不起作用,因为 Windows XP 不通过正常的网络堆栈处理本地主机

2/使用像 SocketSniff 这样的工具来查看特定进程的 winsock 调用(我可以尝试这个)

3/使用proxocket dll为特定应用程序的所有winsock流量输出cap文件(可能不起作用,具体取决于应用程序版本或Windows版本。

4/Wireshark 在这种情况下无法工作,其原因与 RawCap.exe 无法工作的原因相同

我详细阅读了wireshark上的这篇文章https://wiki.wireshark.org/CaptureSetup/Loopback我的问题引用了本节:

假设我决定安装 Windows 环回适配器。 接下来我需要这样做:

    1. go to MS Loopback adapter properties, set IP 10.0.0.10, MASK 255.255.255.0
2. ipconfig /all and look at the MAC-ID for your new adapter.
3. arp -s 10.0.0.10 <MAC-ID>
4. route add 10.0.0.10 10.0.0.10 mask 255.255.255.255
5. to test: "telnet 10.0.0.10"

现在有些事情我不明白,我想解释一下这一系列步骤。我有一个想要查看的应用程序,它调用 127.0.0.1 或“localhost”。

  1. 我安装 MS Loopback 适配器,设置其 IP 和掩码。
  2. 然后我获取 MAC 地址。
  3. 然后,我通过 arp 添加静态缓存条目,以便 10.0.0.10 解析为物理设备。
  4. 然后,我添加一条从 10.0.0.10 到自身 10.0.0.10 的路由

现在,在这个 MS Loopback 适配器上捕获肯定仍然无法拾取 127.0.0.1 或 localhost,是吗?只有当我的应用程序将 10.0.0.10 作为“localhost”指向时,它才会接收到该信息?

有人可以澄清一下 - 也许我的理解不正确,但它确实可行?

最佳答案

我决定尝试 SocketSniff - 它完全解决了我的问题 - 它接收了我想要监视的应用程序正在进行的调用,之后我就可以继续愉快地编程!

关于networking - 捕获 Windows XP 本地主机 TCP 流量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29182898/

相关文章:

windows-xp - 如何强制 Windows 索引 "activity"

java - Ping 整个网络以查找设备

c# - 无法使用 System.Diagnostic.Process 运行 nbtstat

internet-explorer - 使用 Virtual PC 在 Windows XP 上测试 IE,现在 Microsoft 的 VHD 镜像已过期

windows-xp - 如何在没有VB的情况下制作模型截图

c++ - Winsock 接受事件有时会停止发出信号 (WSAEventSelect)

c++ - 无法分配请求的地址,C++ UDP 套接字

linux - 如何在 Macintosh 或 Linux 中模拟 OSPF 路由表?

linux - 从/proc/net/sockstat 获取网络连接