Crack-wifi.com FORUM

LE FORUM DU SITE

Wifi, Backtrack, crack WEP et WPA...

Vous n'êtes pas identifié(e).  

Annonce

Visitez la boutique Wifi-highpower.com, votre revendeur agr Alfa Network: du matriel Wifi slectionn, cartes Wifi USB Awus036h et Awus036nh, antennes omnis, yagis, panel, amplis wifi, accessoires...

#1 05-03-2011 13:11:46

raylook
Membre d'Or
Lieu : dans ton disque dur !!
Inscription : 13-01-2010
Messages : 449
Site Web

Question TCP-IP : récuperer une partie d'un fichier

Salut a tous smile
Pour un projet je dois télécharger un fichier mais pas tous le fichier ^^.
Je m'explique par exemple j'ai une page HTMl ou un fichier quelconque (les fichiers sont situés sur un serveur distant bien sur ) mais je voudrais juste récupérer par exemple la premières ligne smile  et arrêter la connexion après ca  smile.
Mais comme c'est a la couche transport que tous ca est géré ca va être difficile donc  je me demande si c'est possible .

Merci d'avance pour vos réponses wink

Dernière modification par raylook (05-03-2011 13:13:38)


fete.gif

Hors Ligne

Annonce

Visitez la boutique Wifi-highpower.com, votre revendeur agr Alfa Network: du matriel Wifi slectionn, cartes Wifi USB Awus036h et Awus036nh, antennes omnis, yagis, panel, amplis wifi, accessoires...

#2 05-03-2011 14:05:40

antares145
Membre d'honneur
Inscription : 29-09-2009
Messages : 5 199
Site Web

Re : Question TCP-IP : récuperer une partie d'un fichier

En voilà une idée saugrenue, j'aime ça ! tongue

En fait ça va dépendre de quelle partie de ton fichier tu vas vouloir télécharger, ainsi que de la taille de cette partie.
Si tu peux télécharger tout le fichier, mais que tu ne veux en garder qu'une partie tu peux utiliser la technique développée ici --> Using wget and dd to download file segment
- tu utilises la fonction "reprise" de wget pour télécharger à partir d'un certain octet (offset)
- tu tronques la fin du fichier avec dd pour ne garder que la partie qui t'intéresse
Ceci implique de connaître exactement l'octet de départ et de fin que tu dois télécharger, bien sûr.

Toujours sous cette condition de connaissance du début et de la fin, mais sans télécharger le fichier au complet tu peux essayer ceci (McGyver FTW !)
- tu télécharges le fichier à partir d'un certain offset (octet de début) avec wget comme ci-dessus
- tu lances un script en parallèle qui va vérifier la taille de ton fichier et qui tuera le processus wget dès qu'elle atteint une certaine taille. Ca pourrait ressembler à ca :

while true;
do if test `du -b fichier_cible | cut -f1` -ge taille_cible
then kill -9 pid_wget
fi
done

Le problème, c'est que je doute que wget s'arrête à l'octet près quand on le tue. En fait, à cause du TCP et de son MSS (la quantité maximale de données qu'il peut embarquer), tu n'auras certainement pas une précision à l'octet, mais tu peux toujours retirer par après les bytes que t'as en trop avec dd smile
Tu pourrais d'ailleurs forcer wget à télécharger le fichier à 1 byte/seconde avec l'option --limit-rate=1 pour charger un seul octet (p-ex un seul caractère) à la fois, pour plus de finesse.

Si tu ne connais pas exactement les octets à extraire mais que tu veux détecter une ligne, tu pourrais appliquer le même petit script qu'au dessus mais avec un test de ce genre-ci plutôt :

do if test `wc -l fichier_cible | cut -f1` -gt 1

Encore une fois tu auras peut-être encore du ménage à faire s'il télécharger quelques octets en plus. Autre possibilité : tout en téléchargeant octet par octet (avec l'option --limit-rate) tu surveilles le dernier byte du fichier, et si c'est un 0D (0x0D correspond à un retour à la ligne en ASCII) tu tues le processus wget. Cette dernière technique est plus complexe (comparaison hexadécimale + différentes conventions de retour à la ligne suivant les OS) mais c'est sans doute la plus précise smile

Dernière solution si tu connais le nombre exact d'octets à télécharger : tu fixes toi-même le MSS (la taille du payload TCP) à la taille que tu veux, et tu envoies un RST après le premier paquet pour terminer la connexion. Ceci suppose évidemment que tu ne dois pas charger une grosse quantité de données, sinon tu vas avoir des problèmes avec le MTU wink Approche très difficile donc, mais intéressante même si je pense que les précédentes devraient te suffire smile

Hors Ligne

#3 05-03-2011 15:09:50

raylook
Membre d'Or
Lieu : dans ton disque dur !!
Inscription : 13-01-2010
Messages : 449
Site Web

Re : Question TCP-IP : récuperer une partie d'un fichier

Merci pour ta réponse wink
Alors en fait je connais le nombre exact d'octet a télécharger (une limite de 65 octet)
Je vais voir ce que je peux faire avec wget? il faut que je me remette au bash ^^..

Dernière solution si tu connais le nombre exact d'octets à télécharger : tu fixes toi-même le MSS (la taille du payload TCP) à la taille que tu veux, et tu envoies un RST

J'ai pensé a scapy mais je sais pas trop ce qu'il est capable de faire ..ca serait possible en C ?
Merci encore wink


fete.gif

Hors Ligne

Annonce

Visitez la boutique Wifi-highpower.com, votre revendeur agr Alfa Network: du matriel Wifi slectionn, cartes Wifi USB Awus036h et Awus036nh, antennes omnis, yagis, panel, amplis wifi, accessoires...

Sujets similaires

Discussion Réponses Vues Dernier message
7 317 26-09-2016 15:52:41 par ElliotV
3 223 01-08-2016 15:53:54 par Olympe
2 299 12-07-2016 11:08:00 par M1ck3y
18 5350 31-05-2016 23:50:18 par Fab955
11 712 05-03-2016 12:51:24 par Jéjé El Dipso

Pied de page des forums


Le coin des bonnes affaires, achats informatiques:


|   Alfa 1000 mW AWUS036H   |    Linksys WRT54GL   |    Misco, informatique   |   
 |    Ebay   |    PC portables   |    PC Gamers & Tuning   |    Cles USB   |   
|   Disques durs externes 2 To   |   
|   Wifi-highpower.com   |   


Server Stats - [ Generated in 0.023 seconds ]   Forum Stat - [ Most users ever online on the forum was : 150 on 20-09-2009 17:06:59 ]