2009-05-15 18 views
3

Ich entwickle, was im Wesentlichen eine spezialisierte Firewall-Anwendung ist. Die Lösung muss 32- und 64-Bit-kompatibel sein. Meine Firma möchte die aktuelle Programmoberfläche behalten, die in C# geschrieben ist.NDIS Intermediate-Treiber-Schnittstelle zu C#

Was ich brauche, ist dies: eine Möglichkeit, den gesamten Netzwerkverkehr auf dem System zu überwachen und zu manipulieren. Meine Forschung hat mich dazu gebracht zu glauben, dass ein NDIS (Network Driver Interface Specification) Intermediate Treiber der richtige Weg ist. Wenn ich diese Art von Treiber in C# schreiben kann, großartig, aber ich bin mir nicht sicher, ob das möglich ist. Zumindest brauche ich eine Schnittstelle in C# zu einem Treiber in einer beliebigen Sprache geschrieben.

fand ich eine große Ressource online für eine in einer Reihe von Artikeln zu schaffen "Erweiterung der Microsoft PassThru NDIS Intermediate Driver" Titel:

  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

Es ist jedoch datiert (2003). Bevor ich in das Lesen und Erlernen dessen, was es zu sagen hat, investieren möchte, möchte ich sicherstellen, dass ich nicht meine Zeit verschwende.

Gibt es einen besseren Weg, dies zu tun? Gibt es Open-Source-Projekte oder Artikel, die den Prozess besser erklären als die obigen Artikel? Bin ich überhaupt im Stadion? Hilfe bitte.

+1

Ich bin mir nicht sicher, ob ich das richtig verstehe. Versuchen Sie, den Treiber in C# zu schreiben, oder möchten Sie C# nur für die Schnittstelle mit dem Treiber verwenden, nachdem Sie ihn erstellt haben (mit C++)? –

+0

@Miky: Es spielt keine Rolle. Wenn ich den Treiber in C# schreiben kann, wäre das großartig, aber ich bin mir nicht sicher, ob das möglich ist. Zumindest brauche ich eine Schnittstelle in C# zu einem Treiber in einer beliebigen Sprache geschrieben. –

Antwort

1

Es gibt eine andere Seite desselben Autors mit dem Titel Windows Network Data and Packet Filtering, die "eine kurze Einführung in verschiedene Techniken bietet, die zum Filtern von Netzwerkdaten und Netzwerkpaketen auf Microsoft Windows-Plattformen verwendet werden können".

Es erwähnt andere Optionen, z.B. "TDI flter driver" und "User-Mode Network Data Filtering", die stattdessen passen, je nachdem, ob Sie wirklich alle den Netzwerkverkehr auf dem System manipulieren möchten.

+0

Ich will nicht unbedingt * den gesamten Netzwerkverkehr * manipulieren, aber die Lösung muss * fähig * sein. Dies ist keine Option, es ist eine Projektanforderung. –

+0

Der gesamte Verkehr oder zum Beispiel nur der gesamte Internetprotokollverkehr? – ChrisW

+0

Ah, ich verstehe was du meinst. Es tut uns leid. Der gesamte IP-Verkehr. Mit dem gesamten Netzwerkverkehr meinte ich von/zu jedem Netzwerkgerät. –