Здравствуйте!
Изучаю разработку драйверов под
Windows. Возник вопрос касательно
сетевого фильтрующего драйвера. Насколько я понял, есть возможно перехватывать пакеты в
kernel-mode и принимать решение о их бущем - дропнуть или отправить/принять в соответствии с заданным фильтром.
Приложения могут как сами отправлять/принимать пакеты, но могут и мониторить интерфейс (
capturing mode).
Захват осуществляется
"записью на диск", в отличии от "
режима общения", когда пакеты хранятся в виртуальной памяти. Можно посмотреть на второй иллюстрации
здесь, ну или просто запустить тот же
Wireshark в режиме отладки и посмотреть на структуру pcap_t и куда она сбрасывает данныен при захвате.
Вопрос заключается в том, возможно ли на уровне драйвер установить фильтр ТОЛЬКО на захват пакетов (допустим
dumpcap.exe начал capturing, и фильтр драйвера выбрасывает в файл не все пакеты, а только выборочные).