Windows

在 Windows 網路堆棧中,WinPcap/Npcap 掛鉤/過濾器在哪裡“偵聽”數據包?

  • February 4, 2019

我正在調查通過套接字執行 IPC 的程序的問題。套接字在本地電腦的 NIC 的 IP 上提供服務,並且從本地電腦上的另一個程序連接到本地電腦的 NIC 的 IP。

我預計這會降低 Windows 網路堆棧,至少足以讓 Wireshark 可以看到數據包。然而,情況似乎並非如此。因此,我可以得出結論,套接字 IPC 在堆棧中的位置更高

$$ would be interesting to see if any windows event tracing (ETW) facilities would see the traffic as an IP frame $$. 這對這個問題並不重要(因為這不是 stackoverflow)。 WinPcap/Npcap 在網路堆棧中的哪個位置“活動”以偵聽數據包並將其傳遞給wireshark?

我專注於現代 Windows 作業系統版本(客戶端:7+、10+;伺服器:2008+、2012+、2016+)。具體來說,此客戶端是 Windows 10。

我實際上想知道網路堆棧中的哪個位置決定將數據包“環回”到主機而不是將它們發送到堆棧中。

謝謝

它位於 IP 層,除非啟用快速環回,否則它位於 TCP 層。網路監視器或 Wireshark 等應用程序無法執行,因為 Microsoft 網路堆棧未用於擷取環回流量。

“TCP 環回介面的預設行為是通過大部分網路堆棧移動本地 TCP 流量,包括 AFD(本質上是使用者模式 TCP 套接字的核心模式表示),以及對應於 TCP 和 IP 的層協議層。”

https://blogs.technet.microsoft.com/wincat/2012/12/05/fast-tcp-loopback-performance-and-low-latency-with-windows-server-2012-tcp-loopback-fast-path/

作為替代方案,您可以使用 Microsoft 消息分析器在 Windows 過濾平台 (WFP) 層上進行擷取:

https://blogs.msdn.microsoft.com/winsdk/2014/08/15/rejoice-we-can-now-capture-loopback-traffic/

引用自:https://serverfault.com/questions/951984