Подключение сетевых функций с помощью драйвера, обзор высокого уровня? - PullRequest
0 голосов
/ 27 октября 2011

Я только что сумел написать свой первый драйвер для Windows (еще не зарегистрировал его, но мне удалось создать все!)добиться следующего:

Я хотел бы написать драйвер, который будет реализовывать некоторое поведение, когда компьютер получает сетевой пакет, прежде чем Windows сделает то, что он делает с пакетом, я хотел бы взять эти данныеи вывести его на консоль программы на C или C ++.

Предположим, у меня написана программа на C / C ++ с консолью.Как программа C / C ++ взаимодействует с драйвером, который я написал, который перехватывает сетевую активность?Это просто какой-то C-код, который вызывает мои драйверы, функция возвращает данные как объект, и затем я могу использовать этот объект для отображения в консоли?

Заранее благодарю за любые возможные ответы

Ответы [ 2 ]

1 голос
/ 27 октября 2011

Вам не нужен драйвер для этой задачи. Используйте библиотеку анализаторов пакетов, например PCap (на самом деле вам понадобится WinPCap ) Собрать пакеты и распечатать их на консоли очень просто.

Альтернативным способом является необработанный сокет. Но настольная Windows (в отличие от Windows Server) ограничивает функциональность необработанных сокетов.

0 голосов
/ 27 марта 2012

Если вам действительно нужен драйвер или у вас есть требование манипулировать или фильтровать пакеты до того, как они попадут в стек Windows, вам нужно изучить драйверы фильтров.

Этот драйвер фильтра может затем предоставить файл устройства, который ваше приложение пользовательского пространства может затем читать / записывать. Windows DDK содержит примеры.

...