Где в сетевом стеке Windows WinPcap/Npcap перехватывает / фильтрует, чтобы "прослушивать" пакеты?

Я исследую проблему с процессом, который выполняет IPC через сокет. Сокет обслуживается IP-адресом сетевой карты локального компьютера, а соединение устанавливается с IP-адресом сетевой карты локального компьютера из другого процесса на локальном компьютере.

Я ожидал, что это приведет к падению сетевого стека Windows, по крайней мере, настолько, чтобы Wireshark мог видеть пакеты. Однако, похоже, что это не так. Поэтому я могу заключить, что сокет IPC находится выше в стеке [было бы интересно посмотреть, будут ли какие-либо средства трассировки событий Windows (ETW) воспринимать трафик как IP-кадр]. Это не важно для этого вопроса (так как это не переполнение стека).

Где WinPcap/Npcap "живет" в сетевом стеке для прослушивания и передачи пакетов в wireshark?

Я сосредоточен на современных версиях ОС Windows (клиент: 7+, 10+; сервер: 2008+, 2012+, 2016+). В частности, это клиент Windows 10.

Я действительно хочу знать, где в сетевом стеке принято решение "зацикливать" пакеты на хосте, а не отправлять их в стек.

Спасибо

1 ответ

Решение

Он находится на уровне IP, если не включена быстрая петля, то он находится на уровне TCP. Такие приложения, как Network Monitor или Wireshark, не работают из-за того, что сетевой стек Microsoft не предназначен для захвата петлевого трафика.

"Поведение по умолчанию интерфейса обратной связи TCP заключается в перемещении локального TCP-трафика через большую часть сетевого стека, включая AFD (который по сути является представлением режима ядра сокета TCP в пользовательском режиме), а также уровни, соответствующие TCP и IP. уровни протокола."

https://blogs.technet.microsoft.com/wincat/2012/12/05/fast-tcp-loopback-performance-and-low-latency-with-windows-server-2012-tcp-loopback-fast-path/

В качестве альтернативы вы можете выполнить захват на уровне платформы фильтрации Windows (WFP) с помощью Microsoft Message Analyzer:

https://blogs.msdn.microsoft.com/winsdk/2014/08/15/rejoice-we-can-now-capture-loopback-traffic/

Другие вопросы по тегам