PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : HTTP von Hand - Binär-Datei extrahieren



ColonelMoW
08.04.07, 15:22
Hi,

ich habe folgende Frage - vielleicht hat ja schonmal jemand sowas versucht.

Kurz etwas zum Hintergrund:
Mithilfe von wireshark habe ich eine HTTP-Anfrage, welche von meinem System stammt, mitgeloggt. Sie sieht in etwa so aus:


GET /37/std_8f2d735fa2599faf8232cf54b378f21d.mp3?bandid=39 472865&songid=48448487&token=1176007501_b403248e2bd31b71a4d34a34c350fb76&p=aHR0cDovL2NhY2hlMDUtbXVzaWMwMi5teXNwYWNlY2RuLmNv bS8zNy9zdGRfOGYyZDczNWZhMjU5OWZhZjgyMzJjZjU0YjM3OG YyMWQubXAz&a=0 HTTP/1.1
Host: [entfernt]
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1) Gecko/20061023 SUSE/2.0-30 Firefox/2.0
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
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
Keep-Alive: 300
Connection: keep-alive

Diesen "Befehl" kann ich ja auch von Hand via telnet absetzen. Also mit
telnet [IP] 80
und dann eben den Befehl.

Das Problem ist, dass ich dann eine Binär-Datei bekomme, genauer gesagt eine mpeg-Datei. Diese möchte ich gerne speichern.

Meine Frage ist nun, geht sowas mit telnet? Ich habe schonmal die Ausgabe via tee in eine mp3-Datei umgeleitet, aber dann steht am Anfang nochmal der komplette HTTP-Aufruf. Leider weiß ich nicht, wie weit ich das entfernen muss, ohne mir den MPEG-Header zu zerschießen...

Oder bin ich gar komplett auf dem Holzweg und man kann sowas garnicht speichern? Prinzipiell müßte es aber doch gehen, da ein Browser die Anfrage ja
auch nicht anders stellt.
Kann mir daher jemand sagen, ob, und wenn wie das geht. Oder woran ich bei
mpeg-Dateien erkenne, ab wann der header losgeht?

Ich weiß das ist eine etwas komische Frage, aber vielleicht hat jemand schon mal ähnliches versucht.

Col

HEMIcuda
09.04.07, 09:44
Warum willst Du das mit telnet machen?

'cuda

ColonelMoW
09.04.07, 10:50
Aus irgendweinem Grund kann ich die mp3-datei nicht anders empfangen. wget z.B. funktioniert nicht.
Das ganze stammt aus einem flash-player stream - und der stellt eben diese HTTP anfrage.
Und da dachte ich mir, wenn ich diese Anfrage nachbilden kann, kann ich die MP3-Datei
lokal abspeichern.