hotti: Binärdaten-Kodierung bei Upload via multipart/form-data

Beitrag lesen

moin,

Hab dann probehalber mal das Bild aus der capture.bin extrahiert und wieder nach *.jpg umbenannt. Das Bild lässt sich aber nicht mehr öffnen, anscheinend wird die Datei doch nicht unverändert in den Upload eingefügt, aber woran liegt diese Veränderung?

Mit enctype="multipart/form-data" sendet der Browser eine Multipart-Message. Die "Teile" also die Bytes werden dabei nicht verändert, sondern vermittels einer Boundary (Trennlinie) und Leerzeilen voneinander getrennt als Message-Body gesendet. Die Boundary sendet der Browser im Requestheader mit, damit der serverseitige Parser die einzelnen Komponenten wieder herstellen kann. Jeder Part einer solchen Multipart-Message enthält neben der Boundary auch weitere zusätzliche Header u.a. mit Angaben zu Content-Type jeder einzelnen Komponente.

Die capture.bin enthält außerdem die HTTP-Request-Header. Ob die capture.bin genauso aufgebaut ist, wie die Multipart-Message, die serverseitig aus STDIN gelesen wird, kann ich allerdings nicht sagen. Das hängt auch davon ab, welchen Filter Du in Wireshark gesetzt hast und ob Du tatsächlich nur diesen, den Request entsprechenden TCP-Stream eingefangen hast.

Das "Mitschneiden" von Voice (Telefonie, Internetradio) mit Wireshark ist jedenfalls sehr wohl möglich, wenn der Filter stimmt, klappts auch mit der Wiedergabe  ;-)

Schönen Sonntag,
  Horst Hacke