繁体   English   中英

Windows 用户空间 TCP/IP 堆栈 - 如何抑制指定以太网接口的内核堆栈?

[英]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 库/驱动程序在第 2 层与以太网接口连接: https ://nmap.org/npcap/

ncap 用于发送和捕获原始以太网数据包,这些数据包从/向用户空间 LwIP 堆栈传递。

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM