# HTTP-Requeste von Browser mit Java sniffen?



## smer4 (24. Okt 2014)

Hallo alle,
während der Arbeit an einem klugen Web-Bot :bae: habe ich auf eine Idee getroffen, Anfragen, die ein Nützer auf Browser manuell macht, insbesondere Post-Requests für Forms, mit einer Java-Anwendung aufnehmen und dann als ein Muster (~ eine Vorlage oder so) im Bot zu nützen.

Die Frage wäre, wie kann man *auf einfachstem der ausgehenden Traffik zu sniffen* ohne zu harte tools wie "Jpcap" zu nützen (da sollen unter Windows noch welche Natives installiert werden)?

Geht es vielleicht einfach mit  Sockets in java.net oder so ?


----------



## Joose (24. Okt 2014)

Hier wirst du ohne entsprechende Natives nicht viele Möglichkeiten haben, fall es überhaupt welche gibt.

[ot]
Bitte lies dir deinen Post nochmals durch bevor du ihn abschickst!
Leider sind deine sehr schwer lesbar. Du verstehst es vielleicht ohne Probleme, du musst bedenken -> du fragst uns um Hilfe, daher müssen wir es lesen und verstehen können 
[/ot]


----------



## smer4 (24. Okt 2014)

> Leider sind deine sehr schwer lesbar


Sorry , Leute, ich versuche meines bestens (


> entsprechende Natives nicht viele Möglichkeiten haben



Aber mit  java.net.Socket , kann man so irgendwas abhören?
Oder stelle ich so ein, dass der Browser die Pakete erstmal and "localhost:ein Port" schickt, und da steht kleine Java-Anwendung in der Mitte?


----------



## Joose (24. Okt 2014)

Ja der Socket ist zur Kommunikation zwischen 2 Anwendungen da, sprich hier könnte man vielleicht etwas abhören.

Wozu brauchst du das ganze überhaupt? Was willst du machen?
Vielleicht gibt es andere einfache Möglichkeiten.


----------



## smer4 (24. Okt 2014)

Joose hat gesagt.:


> Wozu brauchst du das ganze überhaupt? Was willst du machen?



Als erstes, habe ich überlegt Abhören eines Browsers und davon Automatisierung von Post- Requests...
_ weiter geht "die Aggregation der Ergebnisse" (was mit Thema Sniffing nichts zu tun hat...)_

Zum Beispiel, habe ich zwanzig  Internet-Seiten mit Job- Suche, wie Monster.de , JobWorld etc.

Sucht ein Nützer im Browser die Stelle, zum Beispiel "Jobtitel: Informatiker, Ort: Frankturt", soll er(Nützer) zwanzig mal es eingeben, was ungünstig ist. Die Eingabe passiert doch immer im Form von Post-Request an die bestimmte Seite.
Die Forme können anders für jede Seite sein. Die Idee ist, automatisch die "Schablonen"/"Muster"/"Vorlage" davon zu schaffen, für dem Bot, (so dass ein Request könnte dann automatisch an mehrere Seiten gesendet werden).  


Manuell im" Page Source" zu gucken und davon die "Muster" zu schaffen, oder mit einem Browser-Plugin anzugucken könnte man vielleicht auch... ich hasse aber solches Kramm )))


----------



## Joose (24. Okt 2014)

Du kannst auch den HTML Source einer Seite auslesen, dadurch sollte es dir möglich sein das entsprechende <form> Tag zu finden und aus dem HTML etwas zu parsen/generieren mitdem du weiter arbeiten kannst.


----------



## dzim (24. Okt 2014)

Es gibt da ein Tool, das meine Firma auch für Last- und Performance-Tests einsetzt, dass nennt sich ProxySnifferund ist vollständig in Java geschrieben. Ohne irgendwelche Natives einzubinden.
Es geht also schon mit Java.
Aber: Das beste wäre, wenn es halt wie ein Proxy funktioniert. Der ganze Traffic geht durch das Programm, es merkt sich, welche Requests abgesetzt wurden und kann dies dann automatisiert selbst machen.
Alerdings ist das Tool sehr komplex und gerade moderne Webseiten sind eben nicht mehr nach dem alten HTML-Schema aufgebaut, sonderns sehr interaktiv, verwenden Security-Mechnismen u.s.w.
Das alles selbst zu implementieren ist kein geringer Aufwand. Ich habe schon so einige Jahre Erfahrung und würde den Aufwand trotzdem scheuen - aber gut, ich habe auch keinen Bedarf - vielleicht ist das ein wichtiger Punkt.


----------



## smer4 (24. Okt 2014)

> das entsprechende <form> Tag zu finden und aus dem HTML etwas zu parsen/generieren


Na klar es wird mit JDom gehen oder so. Was ich dabei gesehen habe, es ist schwierig das RICHTIGE <form>-Tag zu finden ( wenn man vorher nichts über die Seite weiss). Noch schlimmer, Teile der Seiten werden oft mit JS oder so gemacht. Guck mal, was ist  auf Monster.de:


> <!-- begin CMS part body --><form></form>
> <div class="UX_wrapper">
> <div class="UX_headerHolder UX_clear">
> <div class="UX_header UX_clear">
> ...



Und weiter Javascript, da kannst du davon erst mal kein POST-Request ableiten


----------



## smer4 (24. Okt 2014)

> dass nennt sich ProxySnifferund





> Aber: Das beste wäre, wenn es halt wie ein Proxy funktioniert.



Danke ich gucke es nach. Ich habe auch solche Variante gedacht (siehe mein 2-ten Post).


----------



## smer4 (25. Okt 2014)

Ahh, blöd, habe ich einfacher Weg gefunden. Manche Anfragen sind ja GET- Requeste, die sind im Browser leicht sichtbar, z. B 





> IT Jobs in Frankfurt Am Main, Hessen


Die Frage bleibt aber offen aus der Interesse


----------

