我有一个 TCP 应用程序在 Wireshark 上无法显示。我发现这是因为 Wireshark 无法嗅探 Windows 上的环回通信。
因此,我没有连接到 127.0.0.1,而是连接到 192.168.0.14(同一台计算机),但它仍然没有显示在 Wireshark 上。
所以我的问题是:虽然看起来我是通过家用路由器与自己通信的,但实际上我可能并没有离开 Loopback 吗?
答案1
我实际上可能没有离开 Loopback 吗?
是的。
大多数(如果不是全部)以太网设备都不会接收自己的传输,因此以太网上的机器无法通过将数据包发送到以太网上自己的 MAC 地址来与自己通信。因此,大多数 IP 协议栈都会检测到发送到接口自己的 IP 地址的尝试,并只是将数据包在内部包装起来,而不会将其放在网络上。
即使其他网络设备能如果协议栈无法看到自己的传输,则协议栈不会使用此功能 - 如果可能则这样做,如果不可能则不这样做,这只是额外的烦恼 - 并且 Wi-Fi 设备也可能有同样的限制。
其他一些工具例如原始资本 也许能够捕获本地流量。