Windows TCP / IP в пользовательском пространстве. Как подавить стек ядра для указанного интерфейса Ethernet? - PullRequest
0 голосов
/ 30 октября 2018

У меня есть стек 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 был единственным, кто отправляет пакеты.

1 Ответ

0 голосов
/ 05 ноября 2018

Снятие отметки со всех протоколов в настройках сетевого адаптера решило проблему (ipv4, ipv6, другие ...)

...