我已经阅读了大量关于这个主题的文章 - 捕获 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”。
- 我安装 MS Loopback 适配器,设置其 IP 和掩码。
- 然后我获取 MAC 地址。
- 然后,我通过 arp 添加静态缓存条目,以便 10.0.0.10 解析为物理设备。
- 然后,我添加一条从 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/