2010-05-06 28 views
2

J'ai besoin de développer un filtre transparent pour rediriger les paquets HTTP sortants vers un proxy local, pour faire un filtrage de contenu transparent.NDIS ou TDI pour la redirection de paquets vers un proxy local

Quelle est la meilleure technologie pour le faire, TDI ou NDIS IM? Ma principale contrainte est d'éviter les conflits avec les logiciels antivirus, qui effectuent également une sorte de redirection de paquets pour inspecter le contenu HTTP (je ne sais pas si les programmes antivirus utilisent TDI, NDIS IM, ou les deux). Plutôt que d'écrire moi-même le pilote, je considère aussi deux SDK commerciaux pour le filtrage/modification de paquets: l'un utilise un pilote TDI tandis que l'autre utilise un pilote NDIS IM, ce qui est à l'origine de ma question (I était seulement au courant de NDIS IM, avant de regarder les deux SDKs).

Répondre

1

NDIS IM vous donne accès à des paquets. Si vous redirigez vers un proxy, vous le faites probablement au niveau de la connexion (TCP), auquel cas ce serait beaucoup de travail au niveau de la messagerie instantanée NDIS, car vous auriez besoin d'implémenter un TCP complet. empiler pour traiter les tentatives, le séquençage, etc.

Donc, je regarderais plus dans TDI ou WFP (selon OS cible).

La plupart des AV que je connais utilisent aussi LSP, qui est une couche de filtrage de winsock. Donc, TDI serait bien en dessous de cela, et capture également les applications qui n'utilisent pas les sockets Windows pour TCP/IP (tels que l'explorateur, les clients SMB, etc.).