NDIS или TDI для перенаправления пакетов на локальный прокси

Мне нужно разработать прозрачный фильтр для перенаправления исходящих HTTP-пакетов на локальный прокси-сервер для прозрачной фильтрации содержимого.

Какая технология лучше всего подходит для этого, TDI или NDIS IM?

Моим основным ограничением является предотвращение конфликтов с антивирусным программным обеспечением, которое также выполняет своего рода перенаправление пакетов для проверки содержимого HTTP (я не знаю, используют ли антивирусные программы TDI, NDIS IM или и то, и другое).

На самом деле, вместо того, чтобы писать драйвер самостоятельно, я также рассматриваю два коммерческих SDK для фильтрации/модификации пакетов: один использует драйвер TDI, а другой использует драйвер NDIS IM, так что это источник моего вопроса (я знал только о NDIS IM, прежде чем рассматривать два пакета SDK).


person Enrico Detoma    schedule 06.05.2010    source источник


Ответы (2)


NDIS IM дает вам доступ к пакетам.

Если вы перенаправляете на прокси-сервер, вы, вероятно, делаете это на уровне соединения (TCP), и в этом случае на уровне NDIS IM потребуется много работы, поскольку вам потребуется реализовать полный стек TCP для работы с повторы, последовательность и т. д.

Поэтому я бы больше смотрел на TDI или WFP (в зависимости от целевой ОС).

Большинство AV, которые я знаю, также используют для этого LSP, который является слоем фильтрации winsock. Таким образом, TDI будет намного ниже этого, а также будет захватывать приложения, которые не используют сокеты Windows для TCP/IP (например, проводник, клиенты SMB и т. д.).

person Adrien    schedule 07.01.2014

Я нашел это программное обеспечение, чтобы сделать это. Его программное обеспечение использует NDIS IM

http://www.softperfect.com/products/bandwidth/

person Helvio    schedule 04.04.2013