Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

nombre réponses : 25

#0 -1 »  rivettracker - wont seed or download [Resolved] » Le 27/11/2011, à 17:10

binary-temptation
Réponses : 0

Bonjour a tous,

Je me permet de poster ici suite a un problème que j'ai rencontré avec la mise en place de rivettracker (tracker bittorrent)(www.rivetcode.com/software/rivettracker/) sur mon serveur pour un partage de données personnelles. en espérant que la solution puisse aider d'autres personnes.

Le problème:

--> Lors de l'installation, tout se passe comme prévu. J'ajoute alors un torrent au tracker que je lance également sur deux clients (l'un ayant le fichier complet (le seeder) et l'autre n'ayant pas ce fichier (leecher)). En vérifiant les statistiques du tracker je m’aperçoit que celui-ci a bien pris en compte mes deux machines (seeder:1 leecher: 1)..... et pourtant le partage ne démarre pas ....

--> Pensant que le problème est peut être du au client, je passe de transmission a qbittorrent et la .... petit changement, lorsque je stop et relance le torrent je voit bien mon seeder apparaître dans la liste des peers pendant quelques secondes avant de disparaître ...

--> J'en déduit donc que le tracker envoie bien la liste des peers mais que mon leecher n'arrive pas a se connecter a mon seeder... je decide alors d'ajouter manuellement l'adresse du seeder avec son port (10.8.0.1:51413) ... et la ... le telechargement commence !!

--> J'en déduit (a l'aide de wireshark) que le problème vient sûrement du fait que le tracker envoie un mauvais port au leecher. Je décide donc d'analyser les données du tracker envoyer aux peers (en reproduisant les requêtes faite a la page ..../rivettracker/announce.php par les peers [cf: log apache2 ] ), et la! surprise:


On recoit des données au format Bencode:

d8:intervali1800e12

:min intervali300e5

:peers18:....  ....

  ....  10:tracker 

id2:44e

en désassemblant on s’aperçoit qu'on as bien des erreurs !!!

64 38 3a 69 6e 74 65 72 76 61 6c 69 31 38 30 30 65 31 32

3a 6d 69 6e 20 69 6e 74 65 72 76 61 6c 69 33 30 30 65 35

3a 70 65 65 72 73 31 38 3a 0a 08 00 01 20 20 0a 08 00 06

20 20 0a 08 00 06 20 20 31 30 3a 74 72 61 63 6b 65 72 20

69 64 32 3a 34 34 65 

En effet la liste des peers (elle debute apres "peers18:") est envoyer sous forme compacte c'est a dire 4 octets pour l'adresse et 2 pour le port (étant donnée le  "peers18:" on s'attend a avoir 18/6=3 peers), ici cela correspond a:

0a 08 00 01 20 20 0a 08 00 06 20 20 0a 08 00 06 20 20

on découpe en morceau de 6 octets:

0a 08 00 01 20 20 
0a 08 00 06 20 20 
0a 08 00 06 20 20

ici on as 2 fois la méme ip (une fois 0a 08 00 01 = 10.8.0.1 et deux fois 0a 08 00 06 = 10.8.0.6) mais le problème ne vient pas de la mais plutôt des 2 octets réserver au port (20 20 = 8224 et non 51413).

--> le tracker envoie donc bien la bonne liste de peers mais pas le bon port !!!!! L'erreur se trouve donc dans le code. En cherchant un peut on retrouve la fonction qui génere le bencode:

fichier: funcsv2.php

function sendRandomPeers($info_hash)
{
    require("config.php");

/* ------------------------------------------- */
/* je passe le code inutile */
/* ------------------------------------------- */

    $result = mysql_query($query);
    if ($column == "compact")
    {
        echo (mysql_num_rows($result) * 6) . ":";
        while ($row = mysql_fetch_row($result))
            echo str_pad($row[0], 6, chr(32));
    }

/* ------------------------------------------- */
/* je passe le code inutile */
/* ------------------------------------------- */
}

--> Interessant !!! le développeur utilise la fonction "str_pad" afin de crée une chaîne de 6 octets et de la combler avec "char(32)" si elle n'est pas assez longue .... mais "char(32)" ça fait 20 !! sa explique donc pourquoi on avait "a0 08 00 01 20 20" au lieu de "a0 08 00 01 c8 d5". Cependant après vérification, la fonction est correcte, l'erreur vient donc de plus "haut" dans le code. En vérifiant la base de donnée mysql on s’aperçoit que le champ "x$hash.compact" contient également la mauvaise valeur ("a0 08 00 01 20 20"). L'erreur a donc certainement lieu lors de l'insertion de la valeur dans cette table.

--> en remontant le code on trouve la fonction d'insertion:

fichier: tracker.php

/* ------------------------------------------- */
/* je passe le code inutile */
/* ------------------------------------------- */

    $compact = mysql_escape_string(pack('Nn', ip2long($ip), $port));
    $peerid = mysql_escape_string('2:ip' . strlen($ip) . ':' . $ip . '7:peer id20:' . hex2bin($peer_id) . "4:porti{$port}e");
    $no_peerid = mysql_escape_string('2:ip' . strlen($ip) . ':' . $ip . "4:porti{$port}e");
    mysql_query("INSERT INTO ".$prefix."y$info_hash SET sequence=\"{$GLOBALS["trackerid"]}\", compact=\"$compact\", with_peerid=\"$peerid\", without_peerid=\"$no_peerid\"");

/* ------------------------------------------- */
/* je passe le code inutile */
/* ------------------------------------------- */

--> Hé la voila l'erreur !!!! En vérifiant le contenu de la variable $compact on trouve bien "a0 08 00 01 c8 d5" mais lors de l'insertion dans la table "a0 08 00 01 c8 d5" se transforme en "a0 08 00 01 20 20" ... bon d'accord comme sa c'est pas flagrant mais "c8 d5" en ascii sa fait: "ÈÕ" .... et forcement entre le "È" et mysql c'est pas la grande amitié.

La solution:

--> Ouf on y est !!! Au final il suffit de remplacer:

Dans le fichier: tracker.php

    $compact = mysql_escape_string(pack('Nn', ip2long($ip), $port));

par

    $compact = mysql_escape_string(utf8_encode(pack('Nn', ip2long($ip), $port)));

Dans le fichier: funcsv2.php

            echo str_pad($row[0], 6, chr(32));

par 

            echo str_pad(utf8_decode($row[0]), 6, chr(32));

(je n'ai pas vérifier mais il faut certainement également augmenter la taille (de 6 a 12 ?) du champ compact [ fichier funcsv2.php dans la fonction makeTorrent($hash, $tolerate = false) on as "compact char(6)" par default] ).

--> les modifications une fois effectuer on peut retenter, et cette fois en principe tout fonctionne correctement ^^

#1 Re : -1 »  Ushare + rafraichissement des repertoires » Le 26/10/2011, à 10:44

binary-temptation
Réponses : 4

Désolé d'avance de déterrer le topic. Si sa peut aider quelqu’un, il suffit de relancer le démon via "ushare -D" au lieu de s’embêter a passer par l'interface web. (combiner a crontab pour un rafraîchissement automatique).

#2 -1 »  Communauté de développement pour tous » Le 25/03/2010, à 22:24

binary-temptation
Réponses : 1

Bonjour a tous cher linuxiens cher dévelloppeurs,

voila, je suis dévelloppeur amateur depuis pas mal d'années, j'ai un bon niveau en HTML, PHP, Delphi C/C++ et depuis peu je crée des jeux videos grace aux libraire SDL et OpenGL...

et l'idée m'est venu de vouloir partager mon expérience avec d'autres personne qui partage la méme passion...

c'est la raison pour laquelle je suis occuper de ressortir tout mes projets, de tout retaper au propre et de balancer tout sa sur un zolie site web avec un forum créé par mes soins...

la seul chose qui me manque ce sont des dévellopeurs ...

donc j'invite toute personne, de tout niveaux étant pret a dévellopper en communauté a me contacter pour qu'on fasse des projets ensemble ...

quel type de projets ??

et bien de tout !! selon votre niveau, sa ira de la console a la 3D en passant par different languages, le but de la communauté sera priotairement de créé des logiciels tournant prioritairement sous linux mais aussi sous windaube si on as le temp de compiler sous cet "OS"

biensur des projets de creation web seron égalament lancée ....



donc voila , moi je suis occuper de créé le site la, dans 15-20 jours tout est pret donc si quelqun veut se lancer dans l'aventure qu'il me contacte smile

#3 Re : -1 »  Communauté de développement pour tous » Le 05/04/2010, à 16:19

binary-temptation
Réponses : 1

petit up !! big_smile

#4 Re : -1 »  [Wine] Scintillement de l'écran CRT » Le 26/10/2009, à 10:43

binary-temptation
Réponses : 9

sa scintille que sur un seul des deux ecran ???

parce que si le scintillement apparait sur l'écran ou tu lance le programme wine essai de désactiver compizfusion .. et la magique sa devrait plus scintiller wink

#5 Re : -1 »  [Wine] Scintillement de l'écran CRT » Le 26/10/2009, à 16:21

binary-temptation
Réponses : 9

et ta pas essayer de désactiver compiz ??

#6 Re : -1 »  [Wine] Scintillement de l'écran CRT » Le 26/10/2009, à 16:56

binary-temptation
Réponses : 9

ha yikes... domage je peut rien pour toi sous KDE hmm

#7 Re : -1 »  Livre d'or sur site en php » Le 26/10/2009, à 16:25

binary-temptation
Réponses : 14

moi je suis programmateur en php .. jeu peut t'aider si tu le souhaite ... regarde mes creation dans ma signature ...

contacte moi sur mon msn binary-temptation@hotmail.fr

#8 Re : -1 »  Livre d'or sur site en php » Le 26/10/2009, à 16:33

binary-temptation
Réponses : 14

héhé je sais que c'est bourer de fautes ... le projet cartatoto je l'ai commencer il y a une semaine .. donc pas encor terminer ^^

#9 Re : -1 »  Livre d'or sur site en php » Le 26/10/2009, à 16:47

binary-temptation
Réponses : 14

pour moi ya aucun soucis ... soit je peut t'aider a le faire .. soit je peut carrement le faire c'est toi qui voit ^^ ...

#10 Re : -1 »  Livre d'or sur site en php » Le 26/10/2009, à 16:52

binary-temptation
Réponses : 14

okok aucun soucis ^^

jpeu méme te faire un petit tuto ici si jamais ta besoin d'aide

#11 Re : -1 »  Livre d'or sur site en php » Le 27/10/2009, à 11:57

binary-temptation
Réponses : 14

descodes qui apparaissent ?? O_o bizare ... sa voudrait dire que ton serveur supporte pas le php .. ce qui m'étonnerai.

poste le lien vers le livre qu'on voit ce que sa donne.

#12 Re : -1 »  Déplacer des fichiers » Le 26/10/2009, à 16:29

binary-temptation
Réponses : 6

oula .. sa fait longtemp que j'ai pu fait de bash mai ya rien de compliquer .... suffit de faire un petit tour sur google

http://www.google.fr/search?hl=fr&clien … =&aq=f&oq=

#13 Re : -1 »  BackTrack » Le 26/10/2009, à 10:39

binary-temptation
Réponses : 1

bha euh .. a mon avis tu risque d'avoir plus de réponse sur le forum backtrack en faite big_smile

#14 Re : -1 »  étendre réseau wifi » Le 26/10/2009, à 10:36

binary-temptation
Réponses : 1

moi perso j'ai un WRE54G LINKSYS

http://www.ldlc.com/fiche/PB00025164.html

ce que tu demande la sa s'apelle un point d'acces wifi et sa sert effectivement a faire "relais" ... par contre j'ai pris un peu de temp a comprendre comment le configurer big_smile ... mais regarde sur le net il doit y avoir pas mal de modeles different ...

#15 Re : -1 »  Freeze au boot + problèmes DD et CG » Le 12/09/2009, à 12:43

binary-temptation
Réponses : 3

pour ce qui est de la urchauffe dudisque dur ... c'est due au harware du pc .. pas a ubuntu ... donc le mieu c encor de rajouter un bon gros ventillo avec un ptit radiateur ...

#16 Re : -1 »  Archives BFM Radio inaudibles sur Firefox » Le 12/09/2009, à 13:02

binary-temptation
Réponses : 5

c'est surement leurs site qui déonne .. tu as essayer sous une autre platforme ou tu n'a que ubuntu ??

#17 Re : -1 »  son bizarre ! (vidéo sur le net) » Le 12/09/2009, à 13:07

binary-temptation
Réponses : 2

et sur youtube les videos fonctionnent nikel ?? parce que moi la premiere chose a laquel je penserai ce serai a un probleme avec flash

#18 Re : -1 »  error 18 » Le 12/09/2009, à 12:56

binary-temptation
Réponses : 2

apparament ton bios n'accepte pas les cylindre de disque trop grand ... cela signifie que tu as une tro grosse partition je suppose ...

#19 Re : -1 »  Montage auto clé usb fat16 » Le 12/09/2009, à 12:45

binary-temptation
Réponses : 4

mon fameu post qui aide pas mal de monde en se moment .... http://forum.ubuntu-fr.org/viewtopic.php?id=318200

#20 Re : -1 »  Montage auto clé usb fat16 » Le 12/09/2009, à 12:48

binary-temptation
Réponses : 4

et pourquoi cette cléf usb est en fat16 ?? la meilleur solution c'est encor de la mettre en fat32 ^^

#21 Re : -1 »  comment savoir si mon pc est espionné sous ubuntu ? » Le 26/08/2009, à 10:18

binary-temptation
Réponses : 16

big_smile non je pensais à un espion qu'on aurait pu m'envoyer par pièce jointe ou avec un programme en insérant mon adresse ip (je ne connais pas grand chose en informatique mais j'ai un ex très spécial).

Bha commence par te dire que ce genre de chose est impossible sous linux...

impossible de rentrer sur un ordinateur linux ?? alor sa j'en suis pas du tout .. mais alor pas du tout convaincue ...

j'ai deja mis en place moi meme sur mes ordinateur des backdoor afin d'avoir un acces a distance et je peut vous certifier que j'ai pas eu besoin des droits admins ... ensuite il existe ce que l'on apelle des rootkit qui pour certains permettent une escalade de privilége ....


il ne faut pas s'y fier .. linux n'est pas invulnerable .. c'est simplement que tout le monde prefere s'attaquer a des machine Windows mal sécuriser présente dans le monde entier plutot qu'a s'attaquer a la communauté linux en minaurité et beaucoup plus sécurisé ...


ensuite .. il n'y as pas besoin de programme pour ecouter un reseau informatique .. une simple attaue MITM permet d'ecouter un reseau entier ...


en fin de compte il ne s'agit pas de savoir comment trouver l'erreur mais pourquoi croit'on k'il y est une ereur ....

et c'est la question que je veu poser ... pourquoi lausanee coit t'u que tu est "espionner" ??

#22 Re : -1 »  Je ne trouve pas les commandes pour nettoyer les fichier inutiles! » Le 26/08/2009, à 09:58

binary-temptation
Réponses : 5

#pour effacer les paquets inutiles utilise deja:

sudo apt-get clean
sudo apt-get autoclean

ensuite pour ce qui est de la défragmentation ou autre ... je n'ai jamé entendue parler de sa sous linux ... ^^
a mon avis ta pas bsoin de déragmentation

pour ce qui est de la maintenance des fichier et du disque dur .. si tu tourne sur une partition en ext3 tout les 30 demarrage ubuntu effectue un fsck qui n'est autre qu'un check-disk

#23 Re : -1 »  Prb de clé usb » Le 26/08/2009, à 10:02

binary-temptation
Réponses : 7

pour moi personellement si Gparted détécte pas ta cléf c'est qu'elle est morte .... (reponse sous réserve je n'ai pas réponse a tout  roll)


mais essai de formater sur windows si tu n'a pas encor essayer

#24 Re : -1 »  problèème affichage vidéo streaming [résolu :) ] » Le 24/08/2009, à 16:21

binary-temptation
Réponses : 6

déja a mon avis suprime ce fameu paquet firefox .....


regarde ensuite si les paquets gsnash, adobe-flashplugin et flashplugin-nonfree sont bien desintaller .... puis regarde ici la doc pour installer tout sa proprement ^^

http://doc.ubuntu-fr.org/flashplayer