AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi gzip-String "entpacken"???
Thema durchsuchen
Ansicht
Themen-Optionen

gzip-String "entpacken"???

Ein Thema von romber · begonnen am 22. Nov 2008 · letzter Beitrag vom 3. Feb 2009
Antwort Antwort
Seite 2 von 2     12   
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.166 Beiträge
 
Delphi 10 Seattle Professional
 
#11

Re: gzip-String "entpacken"???

  Alt 2. Feb 2009, 19:47
Zitat von gammatester:
Kannst Du das Teil mit gzip entpacken, wenn Du den Gzip-Teil als Datei speicherst mit Extension .gz?
Nein, kann ich nicht. Assertor hat bestimmt recht. So wie die Daten da oben stehen sind die nicht vollständig und keine Decompress-Routine wird diese Daten entpacken können.
  Mit Zitat antworten Zitat
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#12

Re: gzip-String "entpacken"???

  Alt 2. Feb 2009, 20:01
Hi,

Zitat von romber:
@Assertor

Danke für die Antwort!
Ich habe Delphi 2009 und ich war mir auch sicher, dass es an der Delphi-Version liegt. Aber vielmehr beschäftigt mich jetzt das hier:

Zitat von Assertor:
Willst Du die Daten aus Deinem Netzwerk Sniffer (PCab) so verwerten, wie diese oben stehen? Weil dort ja der Zeichenbereich begrenzt ist somit Informationen schon flöten sind (das also mit dem Entpacken des gz nichts wird)...
Genau. So wie die Daten oben stehen, so habe ich diese auch. Diese Daten lese ich aus einem Record aus, Datentyp ist AnsiString. Sind diese Daten wirklich nicht vollständig?
Sieht so aus, als würde PCap alles oberhalb der ASCII-Zeichen mit einem "." auffüllen, damit es anzeigbar bleibt. Was Du bräuchtest sind die Rohdaten, also in HEX bzw. als Binaryformat.

Mit ANSI/Unicode hat das hier noch nichts zu tun, sondern nur damit das PCap die Daten zur Anzeige "aufbereitet" - das kann bei Binärdaten nur in die Hose gehen...

Und für gz bzw. gzip brauchst Du afaik nur die zLib. Das sind im Prinzip immer nur gepackte Datenströme. Erweiterte Inhaltsinformationen und (Verzeichnis-)Strukturen etc. sind bei gz ja überlicherweise in den den Tar-Containern (dies ist hier völlig unnötig - geht ja um die Daten von Webservern die gz'ed sind).

Gruß Assertor
Frederik
  Mit Zitat antworten Zitat
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.166 Beiträge
 
Delphi 10 Seattle Professional
 
#13

Re: gzip-String "entpacken"???

  Alt 2. Feb 2009, 20:09
Gibt es den eine Alternative zu WinPCap, die mir die Rohdaten liefern könnte? Aber komisch. Wireshark basiert auch auf WinPCap und zeigt die Daten an.
  Mit Zitat antworten Zitat
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#14

Re: gzip-String "entpacken"???

  Alt 2. Feb 2009, 22:04
Hi,

Zitat von romber:
Gibt es den eine Alternative zu WinPCap, die mir die Rohdaten liefern könnte? Aber komisch. Wireshark basiert auch auf WinPCap und zeigt die Daten an.
Ich kenn mich mit WinPcap nicht aus, nutze für kleine Sachen meistens NirSoft SmartSniff - inbesondere wenn es um die Indy Geschichte geht, aber bei WinPcap gibt es eine Liste:

http://www.winpcap.org/misc/links.htm

Dort stehen einige, die die Daten auch in HEX anzeigen, z.B. EtherSnoop, ipInterceptor, YATT oder der von mir genutzte SmartSniff.

Ich nutze SmartSniff, weil dieser für Admins auch portabel einsetzbar ist ohne Installation. Bei beschränkten Accounts (Vista, UAC und normale Workstations etc) muß der halt per Rechtsklick -> Ausführen als (Administrator) gestartet werden. Klein und einfach.

Ich hab das Package Dumping jetzt aber nicht getestet - das brauch ich so selten, geht ja meist nur ums Nachschauen, was wo richtig oder falsch läuft.

Gruß Assertor
Frederik
  Mit Zitat antworten Zitat
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.166 Beiträge
 
Delphi 10 Seattle Professional
 
#15

Re: gzip-String "entpacken"???

  Alt 3. Feb 2009, 10:09
Zitat von Assertor:
Ich kenn mich mit WinPcap nicht aus, nutze für kleine Sachen meistens NirSoft SmartSniff - inbesondere wenn es um die Indy Geschichte geht, aber bei WinPcap gibt es eine Liste:

http://www.winpcap.org/misc/links.htm

Dort stehen einige, die die Daten auch in HEX anzeigen, z.B. EtherSnoop, ipInterceptor, YATT oder der von mir genutzte SmartSniff.
Fast alle Tools habe ich ausprobiert. Es geht mir aber darum, die Daten mit Delphi abfangen zu können. Ich benutze dafür eine auf WinPCap basierte Delphi-Bibliothek, deren Möglichkeiten auch begrenzt sind. Ich habe gestern Abend ein bisschen rumexperementiert und nun sehen die empfangenen Daten anders aus, als oben dargestellt. Die komishen Punkte sind weg. Meiner Meinung nach sieht es jetzt mehr nach komprimierten Daten aus.
Diese gezippte strings sind auch "chunked". Liegt mein Problem vielleicht daran, dass ich die Daten zuerst trennen und erst dann entpacken soll?
  Mit Zitat antworten Zitat
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#16

Re: gzip-String "entpacken"???

  Alt 3. Feb 2009, 10:54
Hi,

Zitat von romber:
Es geht mir aber darum, die Daten mit Delphi abfangen zu können.
...
Diese gezippte strings sind auch "chunked". Liegt mein Problem vielleicht daran, dass ich die Daten zuerst trennen und erst dann entpacken soll?
Nicht trennen, sondern zusammenfügen. Was der Webserver als chunked gzip senden, fügst Du entsprechend zusammen und entpackst dann alles als Ganzes. Anders geht das nicht.

Sieh Dir mal die Beschreibung des Chunked Encodings bei Wiki an.

Prinzip ist recht einfach, ein Chunked Block sieht so aus:

Zitat:
Größe des Blocks (Hex) + CRLF
Datenblock
Wird als Größe des Blocks 0 geliefert, ist die Übertragung zu Ende.

Gruß Assertor
Frederik
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz