PHP HTTP Packete

Stazer

Stammuser
Moin,
ich wollte mal anfragen, ob es möglich ist das vom Browser gesendete HTTP Packet mit PHP irgendwie "einzufangen".
Also wenn der Browser eine Anfrage sendet.
Diese Anfrage möchte ich gerne mit PHP haben.
Nur wie?

MfG Stazer
 

Stazer

Stammuser
Der Browser sendet ein HTTP Packet an den Webserver.
Der Webserver ruft daraufhin mein PHP Skript auf, und in diesem will ich das gesendete HTTP Packet auslesen.
Ist das mit PHP möglich?

MfG Stazer
 

Hackse

Member
ich wollte mal anfragen, ob es möglich ist das vom Browser gesendete HTTP Packet mit PHP irgendwie "einzufangen".
"Paket" bitte ohne "c" schreiben. :)

Wie enkore bereits geschrieben hat, gibt es in PHP vordefinierte Variablen um einen Teil der HTTP-Headerinfos auszulesen.

Prinzipiell, und das gilt unabhängig von Protokoll und Port, kann unter unixartigen Systemen Netzwerkverkehr via tcpdump mitgelesen und analysiert werden. Es ist sehr mächtig (und unterstützt mich aktuell beim Reverseengineering eines Protokolls von der SAP). Mit tcpdump könnte man z.B. auch bestimmten Netzwerkverkehr filtern, strukturiert in eine Datei auf dem Server umleiten und diese dann mit PHP verarbeiten.


Greetz
Hackse
http://www.tcpdump.org/
 

Hackse

Member
Nur ein Teil, oder das ganze Paket?
Weil in meinem Fall bräuchte ich das ganze Paket :D

MfG Stazer

Das ganze Paket.

Du kannst via tcpdump jedes einzelne Byte mitsniffen.
Für ein umfangreiches Reverseengineering eines (nicht freien) Protokolls kann tcpdump unterstützend verwendet werden um schlussendlich einen endlichen Automaten abzuleiten, der das Kommunikationsprotokoll einer Software abbildet. Das bietet sich an, da bei einer umfangreichen Kommunikation mehrere Nachrichten in Folge zwischen zwei Kommunikationspartnern hin und her gesendet werden und sich das Ganze als Folge von Zuständen spezifizieren lässt, die gewissen Regeln unterliegen.

Wenn ich, um zu Deinem Fall zurückzukommen, mal mithorche, was mein Webbrowser an Infos z.B. an Google sendet, wenn ich mich dort konnekte, erhalte ich u.a. folgendes:

Code:
[B]sudo tcpdump -q -s 1024 -l -A dst "google.de" and port 80[/B]
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 1024 bytes
18:15:35.108832 IP hacksenkessel.local.47242 > google.de.www: tcp 579
E..w1.@.@.Q....!..Eg...Pkoi....,..
c.\.....
.:....5.GET / HTTP/1.1
Host: www.google.de
User-Agent: Mozilla/5.0 (Ubuntu; X11; Linux x86_64; rv:8.0) Gecko/20100101 Firefox/8.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Connection: keep-alive
Cookie: PREF=ID=0ad680ce0a94e9a0:U=c7b1f64d2db1dc37:FF=0:TM=1324990713:LM=1325006039:S=tR997gLIuOWF7ptX; NID=54=a_CqVwz5_qjBwvesq0TnUd4MKDpzRVyv4qF8okqRc4I4JjzAuf0M_OTA2LOusKxC_6jigAmnaVEpK9csvDiKFu8oD-FniIdxsmyInvRjlvfm12y6z73VkVhKNwj8Nf-6

Greetz
Hackse
 
Zuletzt bearbeitet:
Oben