#1 Le 11/08/2008, à 17:06
- benpro
[Résolu] Modifier un fichier binaire avec regex.
Bonjour,
je suis en train de me faire un petit script pour récupérer un flux de données tcp avec tcpflow, mais une fois le fichier sauvegardé (capturé et réassemblé) il contient les headers HTTP.
Voici un exemple du flux récupéré.
HTTP/1.0 200 OK
Date: Mon, 11 Aug 2008 16:05:01 GMT
Server: Apache
X-Powered-By: PHP/5.2.0-8+etch11
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Last-Modified: Mon, 11 Aug 2008 16:05:01 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Type: text/html; charset=UTF-8
X-Cache: MISS from rooter.maison
Connection: close
FLV �
J'aimerais trouver un programme du genre sed, pour enlever tout ce qui trouve avant l'occurrence "FLV'.
Des idées ?
Dernière modification par benpro (Le 11/08/2008, à 20:00)
Hors ligne
#2 Le 11/08/2008, à 18:22
- Jean-Julien
Re : [Résolu] Modifier un fichier binaire avec regex.
Avec l'éditeur hexadécimal GHex.
Tu l'installes à partir de synaptic.
Dernière modification par Jean-Julien (Le 11/08/2008, à 18:22)
Hors ligne
#3 Le 11/08/2008, à 18:34
- benpro
Re : [Résolu] Modifier un fichier binaire avec regex.
J'ai oublié de précisé, de façon automatisé, donc sans GUI.
Hors ligne
#4 Le 11/08/2008, à 19:54
- Totor
Re : [Résolu] Modifier un fichier binaire avec regex.
très probablement possible avec sed mais je n'ai pas le courage de chercher
Il y a un bon tuto ici
sinon, je ne sais pas comment se comporte awk avec les fichiers binaires mais tu peux essayer ceci :
awk 'BEGIN { FLV=0 } /^FLV/ { FLV=1 } FLV==1 { print } ' <ton_fichier> > <nouveau_fichier>
Note : je considère que tes infos HTTP ne sont qu'une "entête" à ton fichier...
-- Lucid Lynx --
Hors ligne
#5 Le 11/08/2008, à 19:59
- benpro
Re : [Résolu] Modifier un fichier binaire avec regex.
très probablement possible avec sed mais je n'ai pas le courage de chercher
Il y a un bon tuto icisinon, je ne sais pas comment se comporte awk avec les fichiers binaires mais tu peux essayer ceci :
awk 'BEGIN { FLV=0 } /^FLV/ { FLV=1 } FLV==1 { print } ' <ton_fichier> > <nouveau_fichier>
Note : je considère que tes infos HTTP ne sont qu'une "entête" à ton fichier...
Parfait awk maîtrise le binaire à première vue, merci ça marche nikel !!
Hors ligne