在 Windows 網路堆棧中,WinPcap/Npcap 掛鉤/過濾器在哪裡“偵聽”數據包?
我正在調查通過套接字執行 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 的層協議層。”
作為替代方案,您可以使用 Microsoft 消息分析器在 Windows 過濾平台 (WFP) 層上進行擷取:
https://blogs.msdn.microsoft.com/winsdk/2014/08/15/rejoice-we-can-now-capture-loopback-traffic/