Windows userspace TCP/IP stack - 如何抑制指定以太网接口的内核堆栈?

Windows userspace TCP/IP stack - How to suppress the kernel stack for a specified ethernet interface?

我在 Windows 用户空间程序中有一个 TCP/IP 堆栈 运行。该堆栈基于 LwIP 的 Windows 端口:https://github.com/yarrick/lwip-contrib/tree/master/ports/win32

用户空间堆栈使用 npcap library/driver 在第 2 层与以太网接口连接:https://nmap.org/npcap/

ncap 用于发送和捕获原始以太网数据包,这些数据包通过 from/to 用户空间 LwIP 堆栈。

问题:假设我在用户空间堆栈中侦听 TCP 端口 5000。 Windows 内核对用户空间堆栈一无所知,并将 5000 视为关闭端口。 这会干扰用户空间堆栈。例如,内核可能会使用 RESET 数据包(拒绝 TCP 连接)来响应传入的 SYN 数据包。

问题:如何关闭指定以太网接口的 Windows 内核 TCP/IP 堆栈?我希望通过 ncap 的用户空间堆栈是唯一发送数据包的堆栈。

取消选中网络适配器设置中的所有协议解决了问题(ipv4、ipv6、其他...)