AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Packets auslesen

Ein Thema von Dani · begonnen am 4. Aug 2003 · letzter Beitrag vom 24. Feb 2004
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Dani
Dani

Registriert seit: 19. Jan 2003
732 Beiträge
 
Turbo Delphi für Win32
 
#1

Packets auslesen

  Alt 4. Aug 2003, 21:11
Hi,

Kann ich über die in Windows XP bereits zur Verfügung stehenden Treiber die eingehenden Packets abhorchen? Ein Port reicht schon

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?

Es gibt jedenfalls keine API-Funktion, die das abhorchen direkt unterstützt soviel ich weiß.
Dani H.
At Least I Can Say I Tried
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Packets auslesen

  Alt 4. Aug 2003, 21:24
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.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Benutzerbild von Dani
Dani

Registriert seit: 19. Jan 2003
732 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Packets auslesen

  Alt 4. Aug 2003, 21:45
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?

http://msdn.microsoft.com/library/de..._sockets_2.asp
Falls irgendjemand das mal lesen sollte und sich auch wundert was "RawSockets" sind
Dani H.
At Least I Can Say I Tried
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Packets auslesen

  Alt 4. Aug 2003, 22:14
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.
Angehängte Dateien
Dateityp: exe test1.exe (231,8 KB, 78x aufgerufen)
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Benutzerbild von Dani
Dani

Registriert seit: 19. Jan 2003
732 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Packets auslesen

  Alt 4. Aug 2003, 22:28
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...
Dani H.
At Least I Can Say I Tried
  Mit Zitat antworten Zitat
Adler

Registriert seit: 29. Apr 2003
Ort: Düsseldorf
30 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Packets auslesen

  Alt 4. Aug 2003, 22:51
Hallo Dani,

versuch es einmal mit folgendem Link: http://winpcap.polito.it/ Irgendwo gab es auch ein Beispiel Projekt für Delphi.

MfG
Adler
  Mit Zitat antworten Zitat
Benutzerbild von Dani
Dani

Registriert seit: 19. Jan 2003
732 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Packets auslesen

  Alt 4. Aug 2003, 22:57
Die FAQ verweist auf http://home1.stofanet.dk/nitezhifter

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...."
Dani H.
At Least I Can Say I Tried
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Packets auslesen

  Alt 4. Aug 2003, 23:02
Am PPP könnte es liegen. Im FAQ steht ja dazu was.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Benutzerbild von Dani
Dani

Registriert seit: 19. Jan 2003
732 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Packets auslesen

  Alt 5. Aug 2003, 01:28
Eine Frage habe ich noch:

Wie komme ich denn in deinem Beispielprojekt an den gesamten Inhalt eines Packets?
Dani H.
At Least I Can Say I Tried
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Packets auslesen

  Alt 5. Aug 2003, 16:51
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.
Angehängte Dateien
Dateityp: exe ipsniffer.exe (113,7 KB, 71x aufgerufen)
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:57 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