Entwickler-Ecke

Internet / Netzwerk - Eigenen sniffer programmieren?


Ebil - Fr 20.06.08 23:50
Titel: Eigenen sniffer programmieren?
Ich will aus einem online game die packets abfangen und bearbeiten, ich muss spezielle herrausfiltern.
Und damit ihr nun nicht alle denkt das ich irgend nen bot oda so schreiben will ( es wird ja imma irgendwas gedacht :D )-> Ich will den text aus dem chat abfangen und falls ein bestimmtes zeichen an erster position ist , dieses packet filtern und den text auslesen, dann soll das was eingegeben wurde in der datenbank suchen die ich grad programmiere und informationen über das monster/item/sonstetwas anzeigen.
Datenbanken über diese sachen exitieren überall, leider nur im browser anguckbar, oder im spiel selber, dann aber extrem unüberlichtlich.

So da ich in euren Augen nun hoffentlich moralisch nix böses machen will:
Wie stelle ich sowas an? Es reicht mir schon wenn ich die packets eines bestimmten programmes empfangen kann den rest schaffe ich dann hoffentlich...
Die indy komponenten habe ich-> nur leider überhaupt kein ansatz, und ich finde auch nix :/

Wäre für ein paar links dankbar, oda wenn die antwort so leicht is natürlich das :D

Ebil


Tilman - Sa 21.06.08 00:38

Sag einfach du willst ein Game überwachen... ob da nicht auch Private Daten übermittelt werden *gg

Moralisch finde ich das überhaupt nicht verwerflich... man muss ja wissen was da so läuft... aber aus technischer Sicht etwas schwierig. Denn du must dich ja tief ins System einklinken, etwa so einfach wie ne Firewall schreiben... glaube nicht dass das so ohne weiteres zu machen ist.


Ebil - Sa 21.06.08 00:45

Soweit ich weiss muss man doch nur einen port ablauschen?
Tief ins system geht da soweit ich weiss nix... da ich ja nicht auf den client sondern nur den datenverkehr zugreife.

Ebil


Carlo91 - Sa 21.06.08 01:43

Hi,
ich würde es mit einem Hook auf die WinSocket functionen(Send, Recv, usw) versuchen. Das sollte das einfachste, für dein vorhaben, sein.

MfG Carlo


arj - Sa 21.06.08 14:48

Also wenn du einfach erst mal schauen willst, ob das überhaupt auslesbar ist,
kannst es ja mal mit Wireshark [http://www.wireshark.org] testen.

Die nutzen übrigens Winpcap [http://www.winpcap.org/] zum sniffen.
Das könntest natürlich in deine Software einbinden.


Chryzler - Sa 21.06.08 15:14

Guck mal hier [http://www.codeproject.com/info/search.aspx?artkw=Sniffer&sbo=kw] auf The Code Project.
Die ersten Ergebnisse sollten recht hilfreich sein. Die meisten Programme sind zwar in C# geschrieben, aber das nach Delphi umzuschreiben sollte ned so schwierig sein, denk ich.


Ebil - So 22.06.08 09:17

Ja ich kenne sniffer schon das ist ja alles kein problem, ich weiss auch das man es sniffen kann, was ich brauche.
Bräuchte aber bisschen genauere anleitung weil ich damit echt noch nicht viel gemacht hab, auch mit Hooks noch nicht.
Und mit meiner erfahrung das dann con C zu übersetzen geht echt nicht ^^.

Naja mit den Winsock kann ich ma bisschen rumgucken, glaub aber kaum das ich es hinkriege.


SAiBOT - So 22.06.08 10:57

user profile iconCarlo91 hat folgendes geschrieben:
Hi,
ich würde es mit einem Hook auf die WinSocket functionen(Send, Recv, usw) versuchen. Das sollte das einfachste, für dein vorhaben, sein.

MfG Carlo


Genau!



user profile iconEbil hat folgendes geschrieben:
Ja ich kenne sniffer schon das ist ja alles kein problem, ich weiss auch das man es sniffen kann, was ich brauche.
Bräuchte aber bisschen genauere anleitung weil ich damit echt noch nicht viel gemacht hab, auch mit Hooks noch nicht.
Und mit meiner erfahrung das dann con C zu übersetzen geht echt nicht ^^.

Naja mit den Winsock kann ich ma bisschen rumgucken, glaub aber kaum das ich es hinkriege.


Zum Thema Hooks gibst' ne' Menge hier im Forum!
Und die Winsock Funktionen kannst du bei MSDN nachschlagen!

MfG


Chryzler - So 22.06.08 11:48

Wieso nicht einfach mittels den Winsock-Funktionen ein neues Socket erstellen, an die lokale Adresse binden, und dann über WSAIoctl einstellen, dass du alle Pakete die rein- und rauskommen empfangen willst. So wird es ja z.b. auch hier [http://www.codeproject.com/KB/IP/CSNetworkSniffer.aspx] gemacht, nur halt unter .NET.


Ebil - Mo 23.06.08 15:22

Danke für eure Tipps, ich versuch mal nen bisschen wenn ich wieder zuhause bin ^^.