Selbstgesendte Pakte abören
-
Hallo,
erstmal vorweg, mein Programm soll später zu keinen illegalen Zwecken dienen, sondern lediglich zur Überprüfung des Netzwerkverkehrs.-
Ich habe mich in letzter Zeit innig mit Raw Sockets befasst, dennoch habe ich kein Quellen für dieses Thema gefunden. Ich möchte die vom Computer eigens geschickten Pakete abören, sniffen, wie auch immer. Ist das möglich und wie ?
Und ist es eigentlich möglich den Bestimmungsort von Pakten zu ändern, wie zB den Port ?! -
Wenn ich meine Pakete abfrage, bekomme ich teilweiße Pakete die ausschließlich Hieroglyphen beinhalten. Ist das normal bzw, wenn ja, wie kann ich den Inhalt auf seine Richtigkeit bezüglich des Inhaltes überprüfen ??
Vielen Dank un Gruß
-
-
Ist OS-abhängig und nicht mit Standard-C++ machbar, für welches OS soll dein Sniffer sein? Bzw. am besten sagst du uns auch gleich noch mit welcher Socket-Library du das ganze vor hast.
MfG SideWinder
-
Hallo,
wie sidewinder schon sagte ist das OS abhängig. Unter Unix gibts die libpcap.
Die wurd mittlerweile auch auf Windows portiert. Ich denke mal das solltest du dir mal anschauen. Ein einfaches read auf einen ungebundenen Socket deines Typs funktioniert zumindest unter Openbsd um alle Packete des Typs zu kriegen.
-
Hi,
sorry, wollte es doch in Linux schreiben, muss mich aber vertan haben, da ich noch hier im Forum gestöbert habe. Kann es bitte jemand verschieben ?Ich weiß leider nicht genau, was du mit Socket-Library meinst, da ich nur flüchtig etwas davon gelesen habe, denke aber Berkeley Socket Library zu benutzen, bin mir aber wie gesagt nicht 100% sicher, ob du das meintest
Vielen Dank
Gruß
-
Hallo,
ich geh mal davon aus dass du bald verschoben wirst. Naja da du Linux benutzt guck dir libpcap an.
Btw.: mit nem bisschen googlen findest du auch die source von dem einen oder anderen sniffer. Ettercap oder ähnliches durchzuschauen ist IMHO zu viel des Guten.
-
ich hab mir natürlich schon den Code von dem einen oder anderen Sniffer angeschaut, allerdings bringt mir das keine neue Erkentnisse, da ein Sniffer ja idR nur die Pakete auslesen soll, die an den eigenen Pc geschickt werden. Jedenfalls habe ich leider noch keinen Code gesehen, der die vom eigenen Pc verschickten Pakete ausliest.
Falls du aber irgendwelche Quellen hast, wäre ich für jede Anregung dankbar
Gruß
-
Hmm neu Quellen kann ich nicht bieten.
Aber hast dus mal mit dieser einfachen Methode versucht
//------ snip ------------------------- int s; s=socket(AF_INET,SOCK_RAW,IPPROTO_IP); u_char buff[BYTES_TO_READ]; while(true){ read(s,buff,BYTES_TO_READ); //tu was mit buff } //---- snap -----------------------------
-
Danke für den Tipp, allerdings kann man mit diesr Methode auch nur die Pakete lesen, die an den Pc geschickt werden und nicht diese, die der Pc eigens verschickt.