我有一个在 Windows 用户空间程序中运行的 TCP/IP 堆栈。该堆栈基于 LwIP 的 Windows 端口:https://github.com/yarrick/lwip-contrib/tree/master/ports/win32
用户空间堆栈使用 npcap 库/驱动程序与第 2 层以太网接口(interface)连接:https://nmap.org/npcap/
ncap 用于发送和捕获原始以太网数据包,这些数据包在用户空间 LwIP 堆栈之间传递。
问题:假设我监听用户空间堆栈中的 TCP 端口 5000。 Windows 内核对用户空间堆栈一无所知,并将 5000 视为关闭端口。 这会干扰用户空间堆栈。例如,内核可能会使用 RESET 数据包响应传入的 SYN 数据包(拒绝 TCP 连接)。
问题:如何关闭指定以太网接口(interface)的 Windows 内核 TCP/IP 堆栈?我希望通过 ncap 的用户空间堆栈成为唯一发送数据包的堆栈。
最佳答案
取消选中网络适配器设置中的所有协议(protocol)解决了问题(ipv4、ipv6、其他...)
关于Windows 用户空间 TCP/IP 堆栈 - 如何抑制指定以太网接口(interface)的内核堆栈?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53069780/