BitTorrent traces and tools

These are traces and tools used to write our paper appeared in PAM 2004 (http://www.pam2004.org/). We wrote this paper during my stay at Institut Eurecom during 2003.

Dissecting BitTorrent: Five Months in a Torrent's Lifetime
M. Izal, G. Urvoy-Keller, E.W. Biersack, P.A. Felber, A. Al Hamra and L. Garcés-Erice
Proceedings of Passive and Active Measurement Workshop (PAM 2004)

Available online at PAM2004 site: https://www.tlm.unavarra.es/~mikel/papers/pam04.pdf (.pdf 200KB)

Authors home:

Here are the traces and tools...

RedHat9 Torrent tracker trace

This is the log trace from the tracker of the RedHat9 torrent with all events the tracker registered during 5 months. The output of the tracker is a text file with apache-like logs. this is the beginning of the trace:

130.233.220.23 - - [31/Mar/2003:12:52:30] "GET /announce?info_hash=E%E9...%18%1D &peer_id=%00...%8E/ &port=6882 &ip=130.233.20.169 &uploaded=0 &downloaded=0 &left=1855094951 &event=started HTTP/1.0" 200 94
217.160.111.64 - - [31/Mar/2003:12:52:48] "GET /announce?info_hash=E%e9...%1d &peer_id=%d6...%99 &port=52000 &ip=134.106.11.159 &uploaded=0 &downloaded=0 &left=1855094951 &event=started HTTP/1.0" 200 162
80.198.193.222 gzip - [31/Mar/2003:12:53:17] "GET /announce?info_hash=E%E9..%1D &peer_id=%00...%7D &port=6881 &uploaded=0 &downloaded=0 &left=1855094951 &event=started HTTP/1.0" 200 173
80.198.193.222 gzip - [31/Mar/2003:12:53:17] "GET /announce?info_hash=E%E9...%1D &peer_id=%00...%7D &port=6881 &uploaded=0 &downloaded=0 &left=1855094951 &event=stopped HTTP/1.0" 200 145

You can download the full 5 month tracker log here: redhat.log.gz (90MB .gz file expands to 600Mb text file)

Warning: about trace timestamps

There are some gaps in the timestamps of the events on the tracker log in redhat.log.gz
It is not clear the cause of this gaps. They may be periods without network conectivity and thus nothing to log or they may be clock adjustements on the tracker machine. In any case these are the major gaps (more than 4minutes)

2003-04-06 01:59:58 -- 2003-04-06 03:00:00 (1 hour)
2003-04-08 07:33:36 -- 2003-04-08 07:54:37 (21 minutes)
2003-04-13 19:36:11 -- 2003-04-14 03:35:33 (8 hours)
2003-07-02 07:14:53 -- 2003-07-02 13:26:49 (6 hours)
2003-08-12 18:29:11 -- 2003-08-12 23:29:29 (5 hours)
Thank you to Daniel Stutzbach for noticing and reporting the gaps

Modified BitTorrents to trace events

These are the modified BitTorrents which alllowed us to log events in a peer participating in the RedHat torrent. To launch a tracing peer, one of these bittorrents has to be launched but to activate the tracer some environement variables should be activated first.

BT_TRACER should be set to active to trace events otherwise the program behaves like a normal BitTorrent BT_TRACER_BASEDIR indicates a directory in which the trace will be stored (should end in /)

An exmple to launch a tracing BitTorrent from a bash shell $ export BT_TRACER=active $ export BT_TRACER_BASEDIR=/tmp/trace/ $ ./btdownloadcurses ./example.torrent The BitTorrent launched with btdownloadcurses will stare a trace in /tmp/trace.

In the trace directory several files are stored

The events are text lines with a timestamp (since the beginning of the trace) and more per-event information. At the moment there is no documentation on the events format other than the source code that prints them. The python class which prints all events is in the file tracestate.py

Here you can download the tracer BitTorrents for different BitTorrent versions.

Here are the traces taken at Eurecom the days July 14, 15 and 18 2003, used in the paper as application level traces.