Entwickler-Ecke
Internet / Netzwerk - Netzwerk Monitor mit Gatewayfilter/Anwendungsfilter o.ä. ?
Delete - Mo 15.08.05 17:57
Titel: Netzwerk Monitor mit Gatewayfilter/Anwendungsfilter o.ä. ?
Moin!
Ich bin gerade dabei, meinen selbstgeschriebenen
Netzwerkmonitor [
http://www.brainiactools.net/index.php?display=Freeware.DSL%20Extended%20Volume%20Meter] nochmal völlig zu überarbeiten.
Ein Feature um das mich jetz schon mehrere gebeten haben und das auch eigentlich wirklich wichtig wäre, macht mir allerdings kopfzerbrechen...
Das Programm sollte nämlich irgendwie automatisch zwischen LAN-Traffic und echtem Internet-Traffic unterscheiden können. Bisher hatte ich das ja so notdürftig mit einem Bandbreitenfilter gelöst, aber im Studentenwohnheim mit Breitbandanschluss funktioniert das auch nicht mehr.
Was ich also bräuchte wäre im Optimalfall irgendeine Art von Gateway-Filter, der nur Traffic zählt, welcher über eine bestimmte IP geforwardet wurde.
Alternativ ginge natürlich auch so etwas wie mir z.B meine Firewall anzeigt, also eine Aufsplittung des Traffics auf einzelne Anwendungen, damit sich der User dann seine Internetanwendungen rauspicken kann.
Nach einigen Stunden suche in Google und MSDN hab ich jetzt aber leider immernoch keinen brauchbaren Ansatz gefunden.
Vielleicht kann mir ja hier jemand helfen.
Schonmal THX im Voraus!
Brainiac
uall@ogc - Mo 15.08.05 18:05
mir fällt im usermode nur die möglichkeit ein per API hook den traffic mitzudokumentieren
dazu musst du dann in jede anwesung eine DLL laden die alle APIs hook die für eine internetverbindung benutzt werden können und einzelnd die daten speichern, bzw an die hostanwesung (deine exe) schicken
apihooking:
http://uall.overclock.ch/uallCollection.zip
Delete - Mo 15.08.05 18:31
Hm... also wenn das tatsächlich die einzige Möglichkeit sein sollte, dann lasse ich es natürlich lieber.
Mal abgesehen von dem Aufwand würde das auch viel zu viel Overhead verursachen um dann noch als kleines Tool zu laufen.
Naja... für weitere Vorschläge bin ich nach wie vor offen. :D
Delete - Mo 15.08.05 20:10
uall@ogc hat folgendes geschrieben: |
| mir fällt im usermode nur die möglichkeit ein per API hook den traffic mitzudokumentieren |
Nebenfrage: Machen dass Firewalls eigentlich auch so?
retnyg - Mo 15.08.05 20:14
Brainiac hat folgendes geschrieben: |
uall@ogc hat folgendes geschrieben: | | mir fällt im usermode nur die möglichkeit ein per API hook den traffic mitzudokumentieren | Nebenfrage: Machen dass Firewalls eigentlich auch so? |
NETLIMITER macht das so
die firewalls haben normal nen treiber auf den ein service zugreift
du könntest das auch machen wenn du den
WINPCAP treiber einsetzt.
nachteil an der treiberlösung: ein neustart ist erforderlich
//Edit: @uall du könntest ja mal nen winsock-hook demo beilegen, das war äusserst interessant
Delete - Di 16.08.05 08:28
Nettes Programm... eigentlich genau das, was meins auch können sollte.
Mir ist nur leider nicht ganz klar, was du mit "mach das so" meinst, denn ich weiß ja nicht, wie die's genau gemacht haben. :wink:
WinPCap hab ich mir angesehen. Allerdings können gleich bei mir auf dem System schonmal keine Adapter gefunden werden, was dann meinen ersten Eindruck doch sehr gedämpft hat. Und das einzige Delphi Projekt, dass ich damit gefunden habe, wirft mir sogar gleich noch einen Runtime-Error vor die Füße.
...
Also irgendwie kann ich immernoch nicht glauben, dass es zu der ganzen Geschichte keine einfachere Lösung geben soll.
Windows selbst muss doch auch irgendwie Statistik über seine Verbindungen führen und da muss man sich doch irgendwie einklinken können... :eyes:
uall@ogc - Di 16.08.05 14:42
hab mal was versucht
nicht anmeckern wenn der PC crashed ;P
retnyg - Di 16.08.05 14:53
sehr schön ^^
das selbe noch auf ws2_32.dll zusätzlich und nur in prozesse injizieren (edit: vielleicht mit readprocessmemory), die eine der beiden DLL's geladen haben, und das teil ist perfekt
edit: wie könnte man rausfinden mit welcher ip kommuniziert wird ?
ahja, müssts man noch die funktionen hooken, die die verbindung herstellen
BenBE - Di 16.08.05 15:21
Hatte nur in einer etwas älteren Version von dem Programm ein Problem beim Beenden dass jegliche Programme, die das Netzwerk genutzt haben, gecrasht sind. AFAIK ist der Bug aber inzwischen behoben ;-)
Ansonsten absolut genial ;-)
Delete - Mi 17.08.05 12:06
Naja... also ich hab mein überarbeitetes Tool halt noch erstmal ohne diese Funktion gemacht.
Neue Version ist jetzt online... wer sich's ansehen will:
http://www.brainiactools.net/index.php?display=Freeware.BrainiacTools%20net-Meter
Das Beipiel von uall hab ich mir angesehen. Also wenn ich mal richtig Zeit hab, dann setze ich es vielleicht in einer Sonderversion um und mache meine jetzige zur Light-Version. Jedenfalls schon mal vielen Dank.
Delete - Fr 19.08.05 08:23
@uall: Hab mir dein Programm mal genauer angesehen... also schonmal reschpekt dafür.
Allerdings ist es natürlich schon jetzt relativ viel für einen Neueinsteiger bei API-Hooks, zumal ich den Code für meine Anwendungen garantiert noch modifizieren müsste.
Hättest du vielleicht irgendwelche Quellenlinks oder Tutorials über die du das gelernt hast, was du jetzt in deinem Projekt anwendest?
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!