Willkommen |
|
myGully |
|
Links |
|
Forum |
|
|
|
 |
01.05.12, 14:53
|
#1
|
Anfänger
Registriert seit: Jun 2010
Beiträge: 43
Bedankt: 33
|
Internetverkehr auslesen und filtern
Liebe Community,
für mein Studium muss ich ein Programm schreiben, welches den eigens erzeugten Internetverkehr ausließst. Ziel ist es, die Pakete zu filtern (oder nur die Headerinfos auszulesen) um eine Art History aufzustellen. Meine erste Frage wäre: Was ist wohl die beste Möglichkeit so ein Programm umzusetzen? Lokaler Proxy, VPN, Browser-Plugin (wobei das Programm für mehrere Browser funzen sollte)...? Funktioniert das in Java, PHP, C ...? Dann würde mich interessieren, welche Infos ich überhaupt verwehrtbar auslesen kann? (Wenn ich beispielsweise auf YouTube ein Video anschaue oder auf ner Universitätsseite ne PDF öffne sollten die History-Einträge in etwa folgendes beinhalten: url, datum, zeit, Art des Konsumierten Mediums). Wie ihr seht stehe ich noch ganz am Anfang und wäre über jede Hilfe dankbar! Um das nochmal zu betonen: Mir geht es hier nicht darum, irgendjemand auszuspionieren! Das ganze ist nur ein Projekt für die Uni.
Viele Grüße,
Sn1G3
|
|
|
01.05.12, 15:12
|
#2
|
Erfahrenes Mitglied
Registriert seit: Oct 2009
Beiträge: 640
Bedankt: 228
|
Es geht doch nur um den eigenen Verkehr ... warum also nicht direkt an der quelle mitschneiden?
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] macht genau das und ist Opensource. Ich meine jetzt nicht dass du COPY and PASTE machen sollst, aber als Inspiration ist es recht praktisch.
|
|
|
01.05.12, 15:50
|
#3
|
Anfänger
Registriert seit: Jun 2010
Beiträge: 43
Bedankt: 33
|
Hi, das sind schon recht viele Zeilen Code... Gibts nicht irgendwas kompakteres oder irgendwelche tutorials...
Grüße, Sn1g3
|
|
|
01.05.12, 16:10
|
#4
|
Echter Freak
Registriert seit: Mar 2010
Ort: /home/spartan-b292
Beiträge: 2.856
Bedankt: 1.701
|
Nimm dir einfach die libpcap und schreib ein Programm was eben nur genau das macht was du brauchst, das sollte dann auch einiges an Code einsparen. Das ganze wird dann in C/++ programmiert.
Ich verschiebe das auch mal in den "Programmieren" Bereich, lasse aber mal einen verweis hier drinne.
__________________
"They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety"
|
|
|
01.05.12, 16:49
|
#5
|
Anfänger
Registriert seit: Jun 2010
Beiträge: 43
Bedankt: 33
|
Hi,
also soweit ich das mit dem libpcap verstanden habe, ist das eine API, die "ganz unten", also bei der Sicherungsschicht des ISO/OSI-Referenzmodells ansetzt. Für die von mir benötigten Informationen würde es ja rein theoretisch genügen wenn ich mir die Pakete der Anwendungsschicht schnappe. Ist die auch möglich?
Viele Grüße,
Sn1G3
|
|
|
01.05.12, 17:05
|
#6
|
Erfahrenes Mitglied
Registriert seit: Oct 2009
Beiträge: 640
Bedankt: 228
|
Auf tcpdump.org sind eh auch ein paar Tutorials([ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ], [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]). 2 Erklärt sogar die Technische Funktionsweise.
|
|
|
01.05.12, 17:09
|
#7
|
Anfänger
Registriert seit: Jun 2010
Beiträge: 43
Bedankt: 33
|
Ja, das stimmt wohl, habe auch schon kurz in eins reingelesen. Deshalb kam im obigen Post ja auch die Frage auf.
|
|
|
01.05.12, 17:25
|
#8
|
Erfahrenes Mitglied
Registriert seit: Oct 2009
Beiträge: 640
Bedankt: 228
|
Aber ich denke man muss es schon auf der Netzwerkschicht (TCP/IP-Model) abgreifen, um überhaupt Zugriff zu bekommen. Alles andere würde ja die Applikation selbst dazu zwingen, Einsicht zu gewähren ... was man aber aus Sicherheitsgründen wohl nicht so gerne hat. Zudem muss man dann eben das Programm fragen und nicht mehr das OS.
|
|
|
01.05.12, 18:39
|
#9
|
Banned
Registriert seit: Mar 2012
Beiträge: 337
Bedankt: 93
|
Wenn Du diese Applikation selbst schreibst oder diese Applikation in Planung ist, dann würde ich mir Java EE und die FilterChain mal ansehen...
|
|
|
01.05.12, 19:10
|
#10
|
Erfahrenes Mitglied
Registriert seit: Oct 2009
Beiträge: 640
Bedankt: 228
|
FilterChain (wenn ich das bis jetzt richtig verstanden habe) arbeitet aber nur mit Servlets, also HTTP/Web Kommunikation (und es muss auch das Servlet selbst eingebunden sein; Also müsstest du erstmal dein Servlet im ganzen Internet verteilen um alles mitschneiden zu können ...). libpcap greift alle Netzwerkpakete ab die über die eigene NIC gehen. Wenn schon Java, dann sollte es eher sowas wie [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] sein.
|
|
|
01.05.12, 19:52
|
#11
|
Banned
Registriert seit: Mar 2012
Beiträge: 337
Bedankt: 93
|
Zitat:
Zitat von slahn
FilterChain (wenn ich das bis jetzt richtig verstanden habe) arbeitet aber nur mit Servlets, also HTTP/Web Kommunikation (und es muss auch das Servlet selbst eingebunden sein; Also müsstest du erstmal dein Servlet im ganzen Internet verteilen um alles mitschneiden zu können ...). libpcap greift alle Netzwerkpakete ab die über die eigene NIC gehen. Wenn schon Java, dann sollte es eher sowas wie [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] sein.
|
Wie gesagt, wäre das nur eine Lösung, wenn man eine Web-Applikation selbst entwirft und sich für JEE entscheidet (wenn das mit "eigenem Internetverkehr" gemeint ist)... den Header kann man so auch auslesen.
|
|
|
01.05.12, 21:22
|
#12
|
Anfänger
Registriert seit: Jun 2010
Beiträge: 43
Bedankt: 33
|
Erst mal vielen Dank an euch zwei, das ich euch die Mühe macht auf mein Problem einzugehen. Ich hab mir jetzt jnetpcap noch nicht angesehen. Werd ich aber noch machen. Was den Netzwerkverkehr angeht, habe ich mich vllt etwas ungenau ausgedrückt. Primär handelt es sich hierbei um Daten, die über den WebBrowser bezogen werden. Somit handelt es sich eigentlich nur um ein Programm das man um Erlaubnis bitten müsste. Um das ganze in einen größeren Zusammenhang zu bringen:
Letztendlich soll dem User eine Semantische Suche auf den Daten ermöglicht werden. Hier treten Beispielsweise Folgende Fragestellungen auf:
Welche Videos hab ich letzte Woche angesehen?
Welche PDFs hab ich wie oft angesehen?
Welche Portale oder Social Networks besuche ich oft... usw.
Ich hoffe das gibt einen groben Überblick.
Hierzu hätte ich noch ne Frage. Gibt es auch ne Möglichkeit, Pakete auszulesen welche mit dem HTTPs Protokoll verschickt wurden?
Viele Grüße,
Sn1g3
|
|
|
01.05.12, 21:42
|
#13
|
Erfahrenes Mitglied
Registriert seit: Oct 2009
Beiträge: 640
Bedankt: 228
|
Da HTTPS mit TLS verschlüsselt ist, gibt es "keine" Möglichkeit diese verständlich zu lesen. Was du aber trotzdem erfahren kannst ist, welche IP und Port angefragt wurde (was in den meisten Fällen bereits alles beantwortet).
Sonst könnte ich dir noch zu einem Proxy raten, der als MAN IN THE MIDDLE fungiert und dir das Internet nur vortäuscht. Dabei hast du aber eigentlich nicht viel selber zu machen (außer du Programmierst dir den Proxy selbst ...) außer den Proxy richtig einzustellen. Dafür ist aber auch Voraussetzung, dass sich der Abgehörte bewusst, mit dem Proxy verbindet.
|
|
|
01.05.12, 21:59
|
#14
|
Anfänger
Registriert seit: Jun 2010
Beiträge: 43
Bedankt: 33
|
Hey, ich das mit nem Lokalen Proxy hatte ich mir eigentlich auch überlegt. Den in Java selbst zu schreiben wär jetzt auch nicht das riesen Ding, oder?
Zitat:
Dafür ist aber auch Voraussetzung, dass sich der Abgehörte bewusst, mit dem Proxy verbindet.
|
Das darf ja auch so sein  Hab ja wirklich nichts Kriminelles vor. Wäre es dann eine schönere Lösung nen transparenten Proxy zu nehmen?
Welche Paktete bekomme ich dann?
Viele Grüße
|
|
|
01.05.12, 23:09
|
#15
|
Erfahrenes Mitglied
Registriert seit: Oct 2009
Beiträge: 640
Bedankt: 228
|
Der Proxy bekommt dann alle Packete, die über den Proxy laufen (also zb. HTTP, HTTPS).
Wollte dich mit dem Proxy auch nur aufmerksam machen, weil es ja zb. Probleme mit der Aufgabenstellung geben könnte.
|
|
|
Forumregeln
|
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren
HTML-Code ist Aus.
|
|
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:30 Uhr.
().
|