NDIS или TDI для перенаправления пакетов на локальный прокси - PullRequest
2 голосов
/ 07 мая 2010

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

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

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

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

Ответы [ 2 ]

1 голос
/ 07 января 2014

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

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

Так что я бы больше посмотрел на TDI или WFP (в зависимости от целевой ОС).

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

0 голосов
/ 04 апреля 2013

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

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

...