2009-05-15 6 views
3

Je développe ce qui est essentiellement une application de pare-feu spécialisée. La solution doit être compatible 32 et 64 bits. Mon entreprise souhaite conserver l'interface actuelle du programme, qui est écrite en C#.NDIS Interface de pilote intermédiaire vers C#

Ce dont j'ai besoin est ceci: un moyen de surveiller et de manipuler tout le trafic réseau sur le système. Ma recherche m'a amené à croire qu'un pilote intermédiaire NDIS (Network Driver Interface Specification) est la voie à suivre. Si je peux écrire ce genre de pilote en C#, c'est bien, mais je ne suis pas sûr que ce soit possible. À tout le moins, j'ai besoin d'une interface en C# pour un pilote écrit dans n'importe quelle langue.

J'ai trouvé une excellente ressource en ligne pour la création d'une série d'articles intitulée "Extension du Microsoft PassThru NDIS intermédiaire":

  1. Part 1 - Adding a DeviceIoControl Interface
  2. Part 2 - Two IP Address Blocking NDIS IM Drivers
  3. Part 3 - Supporting Windows XP 64-Bit Edition

Cependant, il est daté (2003). Avant d'investir dans la lecture et l'apprentissage de ce qu'il a à dire, je veux m'assurer que je ne perds pas mon temps.

Y a-t-il une meilleure façon de procéder? Y a-t-il des projets open source ou des articles qui expliquent mieux le processus que les articles ci-dessus? Suis-je même dans le stade? Aidez-moi, s'il vous plaît.

+1

Je ne suis pas sûr de comprendre correctement. Essayez-vous d'écrire le pilote en C#, ou avez-vous juste l'intention d'utiliser C# pour l'interface avec le pilote après l'avoir créé (en utilisant C++)?! –

+0

@Miky: Peu importe. Si je peux écrire le pilote en C#, ce serait génial, mais je ne suis pas sûr que ce soit possible. À tout le moins, j'ai besoin d'une interface en C# pour un pilote écrit dans n'importe quelle langue. –

Répondre

1

Il ya une autre page du même auteur, intitulée Windows Network Data and Packet Filtering, qui fournit "une brève introduction aux diverses techniques qui peuvent être utilisées pour filtrer les données réseau et les paquets réseau sur les plates-formes Microsoft Windows".

Il mentionne d'autres options, par ex. "Pilote de fltre TDI" et "filtrage de données réseau en mode utilisateur", qui peut convenir à la place, selon que vous vraiment veulent manipuler tous le trafic réseau sur le système.

+0

Je ne veux pas nécessairement * manipuler * tout le trafic réseau, mais la solution doit être * capable * de. Ce n'est pas une option, c'est une exigence du projet. –

+0

Tout le trafic, ou par exemple seulement tout le trafic de protocole Internet? – ChrisW

+0

Ah, je vois ce que tu veux dire. Pardon. Tout le trafic IP. Par tout le trafic réseau, je voulais dire de/vers n'importe quel périphérique réseau. –

Questions connexes