Auditing Bit torrent

One of the strengths of bit torrent is that the primary data transfer protocol is entirely separate from the advertisement protocol. This also has created a strain both in discovering other users who have data, and keeping accurate reports of data that was transfered. The first issue is one that has been developed for extensively,… Continue reading Auditing Bit torrent

Talking to Kad

[python] # Standalone Mainline Kad Client # import socket import time import sys import getopt import random import benc import binascii import select client = "AZ"+str(0x05)+"31"; UDPSocket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM); targetID = "".join(chr(random.randrange(0, 256)) for i in xrange(20)); myID = "".join(chr(random.randrange(0, 256)) for i in xrange(20)); reqs = 0; knownHosts={}; knownPorts={}; def sendData(data,host,port): global UDPSocket,reqs; reqs… Continue reading Talking to Kad

The “Mainline Kademlia” protocol

Kademlia is a description of the network interactions and rpc calls that can form a distributed hash table. Today, these kad based DHTs are one of the most common forms of distributed storage. However, since kademlia does not specify the application level protocol to make calls, it is instead implemented on top of existing application… Continue reading The “Mainline Kademlia” protocol