我正在调查一个通过套接字执行IPC的进程的问题。套接字被服务在本地机器的NIC的IP上,并且从本地机器上的另一个进程连接到本地机器的NIC的IP。
我预计这会把Windows网络栈降下来,至少足够远,Wireshark可以看到数据包。然而,情况似乎并非如此。因此,我可以得出结论,socket在堆栈如果有任何windows事件跟踪(ETW)设施将流量视为IP帧,将非常有趣。中发生得更高。这对这个问题并不重要(因为这不是堆栈溢出)。
WinPcap/Npcap在网络堆栈中“生活”在哪里,以便侦听数据包并将数据包传递给wireshark?
我关注的是现代Windows版本(客户机: 7+,10+;服务器: 2008+,2012+,2016+)。具体来说,这个客户端是Windows 10。
实际上,我想知道在网络堆栈中,决定将数据包“循环”回主机,而不是将它们发送到堆栈的位置。
谢谢
发布于 2019-02-04 15:13:45
它位于IP层,除非启用了,否则它位于TCP层。网络监视器或Wireshark等应用程序不工作,因为Microsoft网络堆栈没有用于捕获回送通信量。
TCP回送接口的默认行为是通过大多数网络堆栈(包括AFD (本质上是用户模式TCP套接字的内核模式表示)以及对应于TCP和IP协议层的层来移动本地TCP流量。
作为另一种选择,您可以使用Microsoft Message Analyzer在Windows过滤平台(WFP)层捕获:
https://blogs.msdn.microsoft.com/winsdk/2014/08/15/rejoice-we-can-now-capture-loopback-traffic/
https://serverfault.com/questions/951984
复制相似问题