![]() |
Packets auslesen
Hi,
Kann ich über die in Windows XP bereits zur Verfügung stehenden Treiber die eingehenden Packets abhorchen? Ein Port reicht schon :angle2: Zweck: Ich möchte einen Teil-Dump des Datenverkehrs machen. Ein bestimmtes Packet enthält den Namen eines Teilnehmers. Diesen möchte ich rausfiltern. Da das Programm ja (hoffentlich?) weiss, von welcher IP das Packet kam, habe ich dann endlich meine User/IP Zuordnung... ... besteht rein zufällig die Chance, dass Microsoft den Entwicklern solche Dinge so schwer wie möglich machen will? :mrgreen: Es gibt jedenfalls keine API-Funktion, die das abhorchen direkt unterstützt soviel ich weiß. |
Re: Packets auslesen
Du kannst mithilfe von RawSockets Pakete sniffen, aber das taugt nix. Das folgende bezieht sich auf Win2000/XP, wies unter den anderen ist, kann ich dir nicht sagen.
Zunächst kannst du nur eingehende Pakete empfangen, sofern du eine DFÜ-Verbindung nutzt und/oder DHCP für deinen Rechner aktiviert hast. Außerdem sind die Socket-Apis anscheinend nicht sehr effizient, denn es ist sehr schwer bis unmöglich, alle Pakete zu kriegen. Ich hab das probiert mit einem Programm, das in einem Thread Pakete empfängt und auswertet, und ich bekomme nur sehr wenige Pakete. Vielleicht kriegt man mehr, indem man Paketabruf und Auswertung in unterschiedliche Threads auslagert, aber ich bezweifle dennoch, dass man da einen zufriedenstellenden Anteil der Pakete bekommt. Die einzigste zufriedenstellende Lösung ist wohl ein eigener NDIS-Treiber, der dann das entsprechende Interface zum PacketCapturing bereitstellt. Es gibt einige Portscanner, die das so machen, und demletzt hab ich auch eine Seite gesehen, auf der solch eine DLL angeboten wird. Leider weiß ich nicht mehr wo, aber so was ließe sich vielleicht finden. Oder halt den Treiber selber schreiben, wenn du das kannst. |
Re: Packets auslesen
Windump stellt einen separaten PacketCapturing Treiber zur Verfügung:
WinPcap 3.0 Das Developer Kit gibts nur mit Visual C++ 6 source Es gibt auch eine Delphi-Übersetzung, aber die funktioniert nicht. Meinstest du das? ![]() Falls irgendjemand das mal lesen sollte und sich auch wundert was "RawSockets" sind :? |
Re: Packets auslesen
Liste der Anhänge anzeigen (Anzahl: 1)
Jain. Mit RawSockets kann man viel machen, u.a. PacketCapturing.
ich häng mal ein einfaches Projekt dran, dass die IP-Pakete abfängt und in einer Listbox darstellt. Die IP, mit der du im Internet zu erreichen bist, muss im Quellcode als Konstante festgelegt werden. Es werden aber die Jedi-Übersetzungen einiger C-Header benötigt. |
Re: Packets auslesen
Tausend Dank!
Hoffentlich bin ich nicht zu blöd dazu... (ansonsten halt Pech gehabt ^^) Cool bei den JEDI Jungs gibts sogar ne funktionierende Version des Packet Sniffers... |
Re: Packets auslesen
Hallo Dani,
versuch es einmal mit folgendem Link: ![]() MfG Adler |
Re: Packets auslesen
Die FAQ verweist auf
![]() Das ist die vorher angesprochene nicht funktioniere Übersetzung :( # Vielleicht liegt es aber auch blos daran, dass ich PPPoE verwende. Allerdings schaffen es sowohl Sygate als auch Etheral wenigstens die Netzwerkadapter richtig zu erkennen ^^ Bei mir werden 9247412 Adapter "erkannt" Chewies Programm scheint sehr gut zu funktionieren, jetzt muss ich es eigentlich nur noch selbst begreifen... Soviel zu Thema "Ey ich schreib mal eben ein Programm, das...." :roll: |
Re: Packets auslesen
Am PPP könnte es liegen. Im FAQ steht ja dazu was.
|
Re: Packets auslesen
Eine Frage habe ich noch:
Wie komme ich denn in deinem Beispielprojekt an den gesamten Inhalt eines Packets? |
Re: Packets auslesen
Liste der Anhänge anzeigen (Anzahl: 1)
In diesem Testprojekt bin ich nicht so weit gegangen.
Aber ich wollt einen gesscheiten Portscanner basteln, zu dem das der Test war. Ursprünglich wollt ich den Source zunächst mal nicht veröffentlichen, da ich aber wegen den oben genannnten Probleme mit den WinSockets das Projekt aber mehr oder minder aufgegeben habe, veröffentliche ich ihn doch. Hier kann man auch die Inhalte sehen, allerdings ist das Programm nicht ganz ausgereift. Und es ist nonVCL, falls du also bisher nur VCL-Programme gemacht hast, wird dir das Verständnis schwwer fallen. Das eigentliche Scannen ist aber das gleiche wie im anderen Programm und sollte zu finden sein. Aber diese Sache mit diesem Treiber sieht ganz interessant aus. Vielleicht benutz ich den, um meinen Portscanner zu basteln. Ach ja, um an den Inhalt zu kommen, wähl ein Element aus, mach Rechtsklick und dann Details. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:37 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz