Question

Je veux recueillir des statistiques de la diffusion d'un fichier dans un nouvel essaim bittorrent sans télécharger quoi que ce soit (ou aussi peu que possible). Je dois savoir que les pairs a qui pièces (pour établir des statistiques sur la base de fichiers) connaître le nombre de semoirs et leechers ou des pourcentages ne suffit pas. Plus tard, quand il y a beaucoup de pairs je besoin de télécharger les données pour déterminer ce qu'il est. Cette partie peut être fait avec un client torrent régulier.

Je ne prévois pas de mettre en œuvre le protocole moi-même donc je regardé 2 implémentations libtorrent et la libbtcore de ktorrent. Ni est capable de recueillir des données sans téléchargement, il y a tout simplement pas de pairs connectés quand il n'y a rien à télécharger. Libtorrent est plus simple mais ktorrent semble mieux commenté.

Je vois 3 possibilités:

  • Utiliser une application exactement pour cela. Y at-il?
  • Modifier une implémentation torrent pour faire ce que je veux. Quelqu'un est-il familier avec eux? Où commencer?
  • Mettre en oeuvre un sous-ensemble du protocole. Il suffit de demander périodiquement les pairs ce qu'ils ont. Est-ce possible ou serait le programme nécessaire pour soutenir presque le protocole complet?

Que conseillez-vous?

Était-ce utile?

La solution

Ceci est une vieille question, mais peut-être cette réponse pourrait être utile pour les autres.

  
      
  • Utiliser une application exactement pour cela. Y at-il?
  •   

Pas que je sache.

  
      
  • Modifier une implémentation torrent pour faire ce que je veux. Quelqu'un est-il familier avec eux? Où commencer?
  •   

Je ne suis au courant du noyau BitTornado (qui est utilisé par exemple dans ABC). Il est écrit en Python, mais il est un désordre architectural.

Cependant, vous pouvez simplement prendre toute mise en œuvre et de décapage partir de la fonctionnalité inutile.

  
      
  • Mettre en oeuvre un sous-ensemble du protocole. Il suffit de demander périodiquement les pairs ce qu'ils ont. Est-ce possible ou serait le programme nécessaire pour soutenir presque le protocole complet?
  •   

Notez que vous ne pouvez pas « demander » un pair ce qu'ils ont. L'autre poste vous informe à chaque fois qu'il veut sur les morceaux qu'il a (il est donc pousser au lieu de tirer ). Après la poignée de main BitTorrent, un pair peut envoyer un bitfield des pièces dont il dispose. Par la suite, il peut envoyer des messages vous informant HAVE a acquis une nouvelle pièce. Notez également que les pairs peuvent se trouver sur les pièces qu'ils ont. Les exemples incluent superseeding pairs et freeriding clients comme BitThief.

Si vous voulez mettre en place un petit sous-ensemble du protocole, vous aurez besoin au minimum mettre en œuvre le message de prise de contact BitTorrent et de préférence le message de prise de contact prolongé. Ce dernier vous permet de recevoir (et envoyer) messages uTorrent PEX. PEX est utile de découvrir rapidement d'autres pairs dans l'essaim.

, vous avez besoin de plus pour vos statistiques de collecte des fins de soutenir le bitfield et ont des messages.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top