Frage

Ich habe immer gefragt, wie Software-Firewalls unter der Decke arbeiten, und möchte in der Lage sein, meine eigenen benutzerdefinierten Tools zu schreiben, Pakete zu analysieren oder abfangen, bevor sie durch das Betriebssystem gesendet oder empfangen werden. Ich bin ziemlich mit Kern-Networking-Prinzipien vertraut; Ich habe keine Ahnung, wo ich anfangen soll, wenn ich Software schreiben wollen, die innerhalb des Netzwerk-Stack passt ähnlich wie Firewalls tun. Könnte mir jemand ein paar Hinweise geben?

Es würde mich besonders interessiert, wenn diese C # erreicht werden kann, aber ich kann auch andere Sprachen tun. Ich bin in erster Linie auf Windows konzentriert, würde aber gerne wissen, ob es auch dort keine Cross-Plattform-Bibliotheken waren.

Bearbeiten einen NDIS-Treiber (wie Wireshark tut) klingt wie eine gute Option, und Vista Paketfilterfunktionen ordentlich klingen, aber wie Firewalls es tun, sagen wir, auf Windows XP? Sie müssen keine speziellen Treiber installieren, die ich kenne.

War es hilfreich?

Lösung

Unter Windows Vista und höher, könnte man auf der

Andere Tipps

Wie ich mich erinnere es sich um einen NDIS-Treiber zu schreiben. Dieser sitzt praktisch auf der NIC (Network Interface Card), und Sie haben die absolute Kontrolle über was in geht oder kommt aus dem NIC vor allem anderen -. Bis in die Ethernet-Paketebene

Das kann nicht mit C # erfolgen. Sie müssen wirklich C oder C ++ für diese Aufgabe verwenden.

UPDATE : Ich habe die letzte in Windows XP Tagen. Ich sehe von einer anderen Antwort gibt es eine neue, und wie es aussieht, einfachere API, wenn Sie Windows Vista ab.

Hier finden Sie aktuelle WinPcap - es verwendet einen NDIS-Treiber seine Paketfilterfunktionen zu implementieren. Diese Bibliothek kann wahrscheinlich eine ausgezeichnete Basis für jede Packet Inspection / Firewall-Programm zur Verfügung stellen Sie schreiben wollen würde, und es ist Open-Source. Aus http://www.winpcap.org/docs/docs_40_2/html/group__internals .html :

  

Als erstes wird ein Erfassungssystem muss   Umgehen der Betriebssysteme   Protokollstapel, um die für den Zugriff auf   Rohdaten im Netzwerk Durchfuhr.   Dies erfordert einen Bereich innerhalb laufenden   der Kern des OS, Interaktion direkt   mit den Netzwerkschnittstellentreiber.   Dieser Teil ist sehr systemabhängig,   und in unserer Lösung wird realisiert, wie   ein Gerätetreiber, genannt Netgroup   Paketfilter (NPF); wir bieten an   verschiedene Versionen des Treibers für   Windows 95, Windows 98, Windows ME,   Windows NT 4, Windows 2000 und Windows   XP. Diese Treiber bieten sowohl grundlegende   Features wie Paketerfassung und   Injektion sowie fortgeschrittenere   diejenigen wie ein programmierbarer Filter   System und eine Überwachungsmaschine. Das   Zuerst kann eine verwendet werden, eine beschränken   erfassen Sitzung auf eine Teilmenge der   Netzwerkverkehr (beispielsweise ist es möglich,   nur den FTP-Datenverkehr zu erfassen   erzeugt von einem bestimmten Host), der   zweite bietet eine leistungsstarke, aber   einfacher Mechanismus zu verwenden, zu erhalten,   Statistiken über den Verkehr (zum Beispiel ist es   möglich, die Netzlast zu erhalten oder   die Menge der ausgetauschten Daten zwischen   zwei Hosts).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top