У меня есть стек TCP / IP, работающий в программе Windows. Стек основан на Windows-порте LwIP: https://github.com/yarrick/lwip-contrib/tree/master/ports/win32
Стек пользовательского пространства взаимодействует с интерфейсом Ethernet на уровне 2 с помощью библиотеки / драйвера npcap, который является преемником winpcap: https://nmap.org/npcap/
ncap используется для отправки и захвата необработанных пакетов Ethernet, которые передаются из / в стек LwIP пользовательского пространства.
Проблема: допустим, я прослушиваю TCP-порт 5000 в стеке пользовательского пространства. Ядро Windows ничего не знает о стеке пользовательского пространства и рассматривает 5000 как закрытый порт.
Это мешает стеку пользовательского пространства. Например, ядро может отвечать на входящие пакеты SYN пакетами RESET (отклоняя соединение TCP).
Вопрос: как я могу закрыть стек TCP / IP ядра Windows для указанного интерфейса Ethernet? Я хочу, чтобы стек пользовательских пространств через ncap был единственным, кто отправляет пакеты.