Member of The Internet Defense League Últimos cambios
Últimos Cambios
Blog personal: El hilo del laberinto Geocaching

Mostrar usuarios que comparten un objeto dado

Última Actualización: 04 de febrero de 2006 - Sábado

De vez en cuando es interesante saber qué usuarios comparten determinado fichero en el "tracker". El script Python es muy simple. El único requisito es que el "tracker" genere un fichero "dfile" periódico. En este script suponemos que el fichero se llama "z.dfile".

El script requiere un parámetro adicional, que es el "hashID" del objeto que nos interesa. El script mostrará los "peers" que comparten el archivo en este momento, tanto completo como parcial. El paso de "peers" a usuarios se puede realizar cruzando la información una página web. El saber qué "hashID" corresponde a qué objeto, o viceversa, dependerá de los detalles concretos de cada instalación.

import httplib
import time
import random
import sha
import sys

from BitTorrent.bencode import bdecode
from BitTorrent.zurllib import unquote


info_hash=sys.argv[1]

print "determinando quien tiene '%s'" %(info_hash)

a=open("z.dfile").read()

info_hash2=""
while info_hash :
  info_hash2+="%"+info_hash[0:2]
  info_hash=info_hash[2:]

info_hash2=unquote(info_hash2)

for i in bdecode(a)["peers"][info_hash2].items() :
  print i

Licencia: This patch is distributed AS IS (if it erases your harddisk is your fault, not mine ;-) ) using the original BitTorrent MIT License.


Historia

  • 04/feb/06: Primera versión de esta página.



Python Zope ©2006 jcea@jcea.es

Más información sobre los OpenBadges

Donación BitCoin: 19niBN42ac2pqDQFx6GJZxry2JQSFvwAfS