Filter-hook драйвер: не вызывается диспатчер Доброго времени суток
Пытаюсь написать легаси filter-hook драйвер который бы блокировал трафик на определенный порт.
Указываю диспатчерDriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL] = DrvDispatch;
Запускаю на таргете Ipfilter драйверnet start ipfilterdriver
После этого через VisualDDK запускаю в дебаге свой фильтр. Но при отправке пакетов диспатчер не вызывается.
Что я делаю не так?

21 Авг 2019 в 06:56
170 +1
0
Ответы
1

Ваша проблема может быть вызвана несколькими потенциальными причинами. Вот несколько возможных решений:

Проверьте, правильно ли вы регистрируете ваш драйвер в системе. Убедитесь, что ваши вызовы IoCreateDevice и IoCreateSymbolicLink выполняются правильно и без ошибок.

Убедитесь, что ваш драйвер правильно ассоциирован с устройством, на котором вы хотите фильтровать трафик. Проверьте, что вы правильно устанавливаете структуру DriverObject->MajorFunction[IRP_MJ_CREATE], чтобы указать ваш драйвер как обработчик обращений к устройству.

Проверьте, что ваш драйвер успешно загружается и выполняется. Используйте отладчик для проверки, не возникают ли какие-либо ошибки или исключения при загрузке вашего драйвера.

Убедитесь, что правильно конфигурируете фильтрацию трафика на определенный порт в вашем драйвере. Проверьте логику обработки пакетов в вашей функции DrvDispatch и убедитесь, что она корректно определяет и блокирует трафик на нужном вам порту.

Если после выполнения этих действий проблема остается, попробуйте использовать другие инструменты отладки, такие как WinDbg, чтобы получить более подробную информацию о том, почему ваш диспетчер не вызывается. Возможно, ваши проблемы могут быть вызваны другими аспектами вашего драйвера, которые требуют более глубокого анализа.

20 Апр 2024 в 13:11
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир