Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Récupération d'images JPG dans un flux TCP/IP

6 réponses
Avatar
jbj.genealogie1
Bonjour,

J'ai capturé avec Wireshark une session TCP/IP qui contient plusieurs
pages HTML, chacune de ces pages contient 0 à plusieurs images JPG

Je cherche à faire un script qui explorerait le fichier, récupérerait
les différentes pages et explorerait la page pour en extraire les
différentes images.

la commande serait :

extrait_jpg nom_du_fichier

l'algorithme de principe serait :

numéro image=1
pour chaque page html dans nom_du_ficher
pour chaque image dans la page
créer une image numéro_image
numéro_image++
fin
fin

Après avoir googlelisé pendant plusieurs heures,je n'ai pas trouvé les
bonnes questions pour trouver les modules suivants :

1 - extraire une page HTML d'un fichier qui en contient plusieurs
2 - extraire et sauvegarder les images JPG d'une page HTML

Je serais heureux si vous pouviez me donner quelques pistes.

Merci
Cordialement.

6 réponses

Avatar
Nicolas George
, dans le message
<5051e915$0$6138$, a écrit :
J'ai capturé avec Wireshark une session TCP/IP qui contient plusieurs
pages HTML, chacune de ces pages contient 0 à plusieurs images JPG



Quel genre de session ? Des requêtes HTTP ? Et stockée sous quelle forme ?
La première chose à faire serait de séparer les différents flux TCP, ce qui
peut se faire avec tcpflow ou équivalent.

Ensuite, il n'y a plus qu'à examiner les fichiers contenant les réponses. Au
pire, il faut parser les entêtes HTTP pour connaître la longueur.
Avatar
jbj.genealogie1
Nicolas George wrote:

, dans le message
<5051e915$0$6138$, a écrit :
J'ai capturé avec Wireshark une session TCP/IP qui contient plusieurs
pages HTML, chacune de ces pages contient 0 à plusieurs images JPG



Quel genre de session ? Des requêtes HTTP ? Et stockée sous quelle forme ?
La première chose à faire serait de séparer les différents flux TCP, ce
qui peut se faire avec tcpflow ou équivalent.




C'est un fichier binaire ne contenant que les requêtes get et les réponses
HTTP.

Ensuite, il n'y a plus qu'à examiner les fichiers contenant les réponses.
Au pire, il faut parser les entêtes HTTP pour connaître la longueur.



Si je comprends bien votre réponse,vous me proposez de récupérer dans un
premier temps les différentes pages HTML.

La technique pourrait être de rechercher le motif <html> trouver la taille
qui doit se trouver autour du motif et transférer les données en mémoire ou
dans un fichier temporaire pour en extraire les images.

J'aurais dû ajouter dans l'entête du message "très très débutant en Perl"

Les questions que je me pose sont les suivantes :
- est-il possible de faire un match sur un fichier binaire ?
- comment récupérer la position du match afin de faire les seek nécessaires
pour calculer la position de début et de fin de la page HTML
- comment transférer quelque part (fichier, mémoire) le contenu d'un fichier
binaire entre position début et position fin ?

Cordialement.
Avatar
Nicolas George
, dans le message
<5053158a$0$6111$, a écrit :
C'est un fichier binaire



Ça ne veut rien dure. Obtenu comment _exactement_ ?
Avatar
jbj.genealogie1
Nicolas George wrote:

, dans le message
<5053158a$0$6111$, a écrit :
C'est un fichier binaire



Ça ne veut rien dure.

Obtenu comment _exactement_ ?



Réponse dans ma question d'origine.

Si pour vous un fichier binaire ne veut rien dire, arrêtez de répondre à ce
fil de discussion et laissez la parole aux gourous de cette liste.
Avatar
espie
In article <50535d8e$0$16488$,
wrote:
Nicolas George wrote:

, dans le message
<5053158a$0$6111$, a écrit :
C'est un fichier binaire



Ça ne veut rien dure.



Obtenu comment _exactement_ ?



Réponse dans ma question d'origine.

Si pour vous un fichier binaire ne veut rien dire, arrêtez de répondre à ce
fil de discussion et laissez la parole aux gourous de cette liste.



Faudra arreter d'etre bete, un jour.

Si vous commencez a vous mettre a dos un des gourous du newsgroup, qui
est certes, un peu concis dans ses messages, mais clairement pas le premier
debutant venu, le reste risque d'avoir peu envie d'etre gentil avec vous...

Bon, dans un effort de conciliation, on va refaire la meme question en
plus precis que Nicolas: il existe plusieurs versions de wireshark,
plusieurs mode de capture... qu'est-ce qui se retrouve dans votre
fichier exactement ? que les requetes http et leur reponses ?
pas d'elements d'entetes tcp/ip supplementaires ?

Parce que bon, en gros va falloir:
- peut-etre reconstituer pour de vrai le flux du serveur.
- regarder comment c'est encode (sachant qu'il y a plusieurs modes
d'encodage des fichiers transferes, plus de la compression possible en http).
et apres extraire les resultats...

N'importe quel gourou de ce newsgroup saura retrouver sans probleme les
modules de CPAN necessaires, mais la premiere etape necessaire, ca serait
tres clairement d'analyser un peu mieux ce fameux flux, histoire de savoir
quels outils sortir...
Avatar
jbj.genealogie1
Marc Espie wrote:

In article <50535d8e$0$16488$,
wrote:
Nicolas George wrote:

, dans le message
<5053158a$0$6111$, a écrit :
C'est un fichier binaire



Ça ne veut rien dure.



Obtenu comment _exactement_ ?



Réponse dans ma question d'origine.

Si pour vous un fichier binaire ne veut rien dire, arrêtez de répondre à
ce fil de discussion et laissez la parole aux gourous de cette liste.



Faudra arreter d'etre bete, un jour.

Si vous commencez a vous mettre a dos un des gourous du newsgroup, qui
est certes, un peu concis dans ses messages, mais clairement pas le
premier
debutant venu, le reste risque d'avoir peu envie d'etre gentil avec
vous...

Bon, dans un effort de conciliation, on va refaire la meme question en
plus precis que Nicolas: il existe plusieurs versions de wireshark,
plusieurs mode de capture... qu'est-ce qui se retrouve dans votre
fichier exactement ? que les requetes http et leur reponses ?
pas d'elements d'entetes tcp/ip supplementaires ?

Parce que bon, en gros va falloir:
- peut-etre reconstituer pour de vrai le flux du serveur.
- regarder comment c'est encode (sachant qu'il y a plusieurs modes
d'encodage des fichiers transferes, plus de la compression possible en
http). et apres extraire les resultats...

N'importe quel gourou de ce newsgroup saura retrouver sans probleme les
modules de CPAN necessaires, mais la premiere etape necessaire, ca serait
tres clairement d'analyser un peu mieux ce fameux flux, histoire de savoir
quels outils sortir...



Je pense plutôt être agréable à vivre, c'est l'avis de mes proches et
d'ailleurs je pense avoir posé humblement ma question en précisant que je
suis très débutant en Perl.

J'ai eu une une réaction excessive et l'ai regrettée après avoir envoyé le
message.

Je bats donc ma coulpe.

J'apprécie votre message conciliateur et techniquement précis.

Le plus simple est que vous puissiez consulter le fichier. Pour ne pas
encombrer le forum, je l'ai télé-chargé chez free. Il est consultable à
l'adresse suivante:
http://dl.free.fr/i5Ixy6R7g
il pèse 7 Mio

Merci d'avoir pris le temps de répondre.