| Autor |
Beitrag |
Brainiac
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mo 15.08.05 17:57
Moin!
Ich bin gerade dabei, meinen selbstgeschriebenen Netzwerkmonitor 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
      
Beiträge: 1826
Erhaltene Danke: 11
Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
|
Verfasst: 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: uall.overclock.ch/uallCollection.zip
_________________ wer andern eine grube gräbt hat ein grubengrabgerät
- oder einfach zu viel zeit
|
|
Brainiac
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: 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. 
|
|
Brainiac
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: 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
      
Beiträge: 2754
SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
|
Verfasst: 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
_________________ es gibt leute, die sind genetisch nicht zum programmieren geschaffen.
in der regel haben diese leute die regel...
|
|
Brainiac
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: 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.
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... 
|
|
uall@ogc
      
Beiträge: 1826
Erhaltene Danke: 11
Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
|
Verfasst: Di 16.08.05 14:42
hab mal was versucht
nicht anmeckern wenn der PC crashed ;P
Einloggen, um Attachments anzusehen!
_________________ wer andern eine grube gräbt hat ein grubengrabgerät
- oder einfach zu viel zeit
|
|
retnyg
      
Beiträge: 2754
SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
|
Verfasst: 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
_________________ es gibt leute, die sind genetisch nicht zum programmieren geschaffen.
in der regel haben diese leute die regel...
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: 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 
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
Brainiac
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: 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:
www.brainiactools.ne...iacTools%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.
|
|
Brainiac
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: 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?
|
|