Wie bekomme ich den Haken der TCP-stack in Windows zu schnuppern und Pakete ändern?
Ich würde gerne schreiben, einen Paket-sniffer und-editor für Windows. Ich möchte in der Lage, um zu sehen, die Inhalte aller Pakete betreten und verlassen mein system und eventuell zu modifizieren. Jede Sprache ist gut, aber ich möchte es schnell genug laufen, dass es nicht belasten das system.
Ich gelesen habe, ein wenig über WinPcap aber die Dokumentation behauptet, dass Sie nicht verwenden können, WinPcap zu schaffen, eine firewall, da Sie nicht die Pakete verwerfen. Welche tools helfen mir beim schreiben dieser software?
InformationsquelleAutor Eyal | 2009-03-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dort gewesen, getan 🙂 Zurück im Jahr 2000 meine erste Windows-Programm, das jemals war filter-hook-Treiber.
Was ich Tat, war die Umsetzung der filter-hook-Treiber und schreiben eine userspace-Anwendung, die vorbereitet, eine filter-Tabelle, was zu erlauben und was zu verbieten. Wenn Sie sich rund um Ihre erste Reihe von blue screens (siehe unten für meine debug-Tipp im kernel-Modus) die filter-Modus-Treiber ist ganz einfach zu bedienen ... es gibt jedes Paket um eine Funktion, die Sie geschrieben haben, und je nach return-code, löscht es oder lässt es passieren.
Leider-Pakete an, die level sind ZIEMLICH roh, Fragmente nicht wieder montiert und es sieht eher aus wie der "Netzwerk-Karte" Ende der Dinge, (aber keine ethernet-Header nicht mehr). So haben Sie eine ziemlich schlimme Zeit Dekodieren der Pakete zu filtern, die mit dieser Lösung.
Dort ist auch die firewall-hook-Treiber, wie bereits in diesem codeproject-Artikel.
Wenn Sie Windows Vista oder Windows Server 2008 sollten Sie besser einen Blick auf WFP (Windows Filtering Platform) statt, zu sein scheint, dass die vorgeschriebenen API des Tages für das schreiben von firewalls.
Ich weiß nicht, über Sie, außer google turing es bis vor ein paar Minuten, wenn ich gegoogelt, die für die filter-hook-Treiber.
Update: habe Vergessen den debug-Tipp:
Sysinternals DbgView zeigt kernel-Modus-DbgPrint-Ausgang und-noch wichtiger - es kann auch Lesen Sie aus der dump-Datei, die Ihre letzten blue-screen produziert. So streuen Sie Ihre code mit dbgprint und wenn es bluescreens laden Sie einfach den dump in dbgview, um zu sehen, was geschah, bevor er starb ... SEHR nützlich. Mit dieser habe ich es geschafft, ohne einen kernel-debugger.
Vereinbart. Ich denke, dass die firewall-hook-Treiber ist der Weg zu gehen, obwohl es veraltet ist, in WinXP und darüber hinaus für die Ausführung zu hoch in den Netzwerk-stack. NDIS ist empfohlen für WinXP. NDIS scheint, wie mehr arbeiten, obwohl.
InformationsquelleAutor froh42
Ich bin mir ziemlich sicher, Sie würde schreiben müssen, ein filter-Treiber. http://en.wikipedia.org/wiki/Filter_driver Ich weiß nicht viel mehr als das :). Es wäre auf jeden Fall ein C/C++ Win32-app, und Sie würde wahrscheinlich sonst auch einige kernel-Seite arbeiten. Starten Sie durch das herunterladen des DDK und die Suche nach einigen der Probe-filter-Treiber.
Wenn Sie nur wollen, um zu überwachen, was geht in die und aus der IIS, sollten Sie ein ISAPI-filter. Immer noch C/C++, in Win32, aber relativ einfacher, als einen Gerätetreiber zu schreiben.
InformationsquelleAutor Frank Schwieterman
C# - code, dies zu tun ist hier
Ich brauche ein WFP-Lösung/Beispiel, leider.
InformationsquelleAutor JoshJordan
Eigentlich wollte ich dieses, vor einigen Jahren. Ich bin diesig auf die details an dieser Stelle, aber ich hatte einen filter entwickeln/pass-thru - /intermediate-Treiber mit dem Windows DDK. Ich habe eine Menge guter Informationen von pcausa. Hier ist eine url, die Punkte auf Ihr Produkt, das dies tut: http://www.pcausa.com/pcasim/Default.htm
InformationsquelleAutor Jack BeNimble
Wenn Sie dies tun, aus praktischen Gründen, und nicht nur zum Spaß, dann sollten Sie einen Blick auf Microsoft Network Monitor. Die Homepage spricht über die version 3.3 beta, aber Sie können download-version 3.2 von der Downloads-Seite. Es gibt auch ein SDK für die NM, und die Möglichkeit zum schreiben von Parsern für Ihre eigene Netzwerk-Protokolle.
InformationsquelleAutor John Saunders
Es ist eine Frage, die Sie stellen müssen, die Sie nicht wissen müssen Sie Fragen; wollen Sie wissen, welche Anwendungen sockets gehören? oder sind Sie glücklich zu sein, eingeschränkt auf die IP:port quad für eine Verbindung?
Wenn Sie wissen wollen Anwendungen, die Sie benötigen, zu schreiben, ein TDI-Filtertreiber, aber das macht das handling der Empfang fast unmöglich, da kann man nicht blocken, auf dem Pfad empfangen.
Wenn du glücklich bist mit IP:port geht bei der NDIS-Ebene, und ich glaube, Sie blockieren, erhalten zu Ihrem Herzen Inhalt.
Ein Wort der Warnung, wenn Sie keine frühere Erfahrung kernel, schreiben entweder dieser Treiber (obwohl TDI ist deutlich schwerer) dauert etwa zwei Jahre, Vollzeit.
InformationsquelleAutor
:
TdiFw ist eine einfache TDI-Basierte Open-Source-Personal Firewall für Windows NT4/2000/XP/2003
http://tdifw.sourceforge.net/
kann Ihnen helfen,
InformationsquelleAutor dragonfly