Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Protokolle überwachen (https://www.delphipraxis.net/143516-protokolle-ueberwachen.html)

mindtrap 17. Nov 2009 14:57


Protokolle überwachen
 
Hallo,

kann mir jemand sagen, welche Möglichkeiten habe um Systemweit oder nur für bestimmte Programme
den Internetverkehr so zu überwachen, dass ich nach bestimmten Protokollen filtern kann?

Z.B. alle ausgehenden Anfragen auf mit ftp:// oder http:// oder https:// etc.

Einen simplen Sniffer also.

MfG
mindtrap

Bernhard Geyer 17. Nov 2009 15:03

Re: Protokolle überwachen
 
In diesem Bereich wird es nicht "einfaches" geben.
Wieso nicht was fertiges wie WireShake verwenden?

mindtrap 17. Nov 2009 15:16

Re: Protokolle überwachen
 
Weil diese Funktion für mein eigenes Programm brauche.
Andere Programme die das können kenne ich sehr gut, aber die verraten mir nicht, wie man das macht. :stupid:

Aber ich sehe gerade, dass bei Wireshark die Lib von Winpcap verwendet wird.
Diesen Weg habe ich tatsächlich schon einmal gesehen.
Mir stellt sich die Frage, ob es nicht einfacher geht (okay, das ist schon einfach), aber eben ohne externe DLL.

Bernhard Geyer 17. Nov 2009 15:32

Re: Protokolle überwachen
 
Zitat:

Zitat von mindtrap
Andere Programme die das können kenne ich sehr gut, aber die verraten mir nicht, wie man das macht. :stupid:

Verraten sie schon, jedenfalls WireShake :mrgreen:

Zitat:

Zitat von mindtrap
Mir stellt sich die Frage, ob es nicht einfacher geht (okay, das ist schon einfach), aber eben ohne externe DLL.

Vermutlich sehr schwer. Du mußt dich an stellen ins System "eingraben" die nicht für "0815" Programmierer gedacht ist. Evtl. ist wirklich eine DLL nötig die auf Ring-0 (OS-Ebene) läuft um die Daten von dort ins "normale" zu bekommen.

mindtrap 17. Nov 2009 15:38

Re: Protokolle überwachen
 
Vermutlich hast du Recht.
Es wird kein einfaches: Alle Sockets überwachen + Protokollfilter geben ohne entsprechende Mechanismen.

Ich werde mir mal ansehen, wie das mit Winpcap zu realisieren ist.
Ansonsten muss ich tiefer in die Trickkiste greifen und mich nochmal intensiv mit dem Layered Service Provider beschäftigen.

Vielleicht hat trotzdem noch jemand eine Idee.
Immerhin gibt es doch Packetsniffer wie Sand am Meer. :mrgreen:

uoeb7gp 17. Nov 2009 19:14

Re: Protokolle überwachen
 
Liste der Anhänge anzeigen (Anzahl: 1)
OK, einfacher gehts nicht!

Have a lot of fun!

mindtrap 18. Nov 2009 08:39

Re: Protokolle überwachen
 
Jetzt bin ich hin und her gerissen.

Danke für den Code. :-D

Sowohl dein Beispiel ist einfach als auch die Verwendung von Winpcap.
Ich schau mir am besten mal beide Lösungen im Detail an und suche mir dann raus, welche ich verwende.
Wobei ich die Lösung ohne DLL definitiv bevorzuge.

Danke für eure Unterstützung. :-D

MfG
mindtrap

mindtrap 19. Nov 2009 08:46

Re: Protokolle überwachen
 
Hi,

ich habe jetzt für beide Versionen, also dem Sniffen am Socket mit Boardmitteln, als auch mit Winpcap
Tests durchgeführt.

Der Code von uoeb7gp funktioniert ab Vista nicht mehr.
Wenn ich mir die übertragenen Daten ansehe, befindet sich Zeichensalat im Buffer.
Vielleicht würde irgendein Encoding an dieser Stelle weiterhelfen, aber ich bin mir nicht
sicher welches.

Mit Winpcap kann ich problemlos die verschiedenen Daten auswerten und bekomme keinen Zeichensalat.
Aber wie gesagt, mich stört der Punkt, dass ich eine Dll mit ausliefern müsste.

Irgendwer eine Idee? :)

MfG
mindtrap

Mithrandir 19. Nov 2009 09:33

Re: Protokolle überwachen
 
Zitat:

Zitat von mindtrap
Aber wie gesagt, mich stört der Punkt, dass ich eine Dll mit ausliefern müsste.

Pack die DLL doch als Resource in dein Programm, extrahiere sie beim Start des Programms (ist wohl eher für Admins gedacht, also sollte das mit den Schreibrechten ja kein Problem sein. ;) ) und lösche sie wieder bei Programmende.

Und ansonsten: Wo ist das Problem mit 'ner DLL? ;)

//Edit: Wenn ich das Programm unter Windows 7 als Admin ausführe, habe ich keinen "Zeichensalat". ;)

mindtrap 19. Nov 2009 10:04

Re: Protokolle überwachen
 
Eigentlich kein großes Problem.
Ich wollte nur nicht eine DLL beim Installer installieren müssen.

Nachdem ich aber nun wunderliche Fehler auf einem anderen XP Rechner habe,
auf dem das Setzen von SIO_RCVALL nicht funktioniert und ich leider keine weitere Testmöglichkeit
habe um herauszufinden, warum das gerade da andes ist, werde ich wohl den
Weg über WinPcap gehen müssen um mir weitere Kopfschmerzen zu ersparen.

Unter Win7 haben ich das nicht gestestet.
Bis jetzt nur unter 2k, XP und Vista 64.

P.S.: Das Programm ist eigentlich nicht für Admins gedacht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:33 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz