Home
Name Modified Size InfoDownloads / Week
stats.php 2012-04-10 4.4 kB
prepare_stats.php 2012-04-10 2.0 kB
add_country.php 2012-04-10 3.9 kB
Start.sh 2012-04-10 878 Bytes
ExtractMagnets 2012-04-10 888 Bytes
Makefile 2012-04-10 1.5 kB
README 2012-04-10 3.9 kB
ulgtorrent.cpp 2012-04-10 28.2 kB
table.sql 2010-05-06 3.6 kB
sniffer.cpp 2010-05-06 22.4 kB
retrieve_stats.cpp 2010-05-06 29.6 kB
retrieve_rtt.cpp 2010-05-06 23.8 kB
retrieve_mtu.cpp 2010-05-06 7.3 kB
mysql.hpp 2010-05-06 189 Bytes
Totals: 14 Items   132.5 kB 0
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Master Thesis: Measure and Analysis of the IPv6 Traffic in Peer-to-Peer Networks

Defêche Martin

10/08/2009

5 programs that form 4010 lines.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

File descriptions:

Makefile : permits the compilation of all programs

README : instructions about how to compile and run the programs.

ulgtorrent.cpp : the BitTorrent client which is the main program. It deals with 
                 the discovery of peers and all BitTorrent information.

sniffer.cpp, sniffer.hpp : the sniffer which permits the retrieval of MSS and 
                           TTL information of peers we get connected to.
                           
retrieve_mtu.cpp : gets the MTU and the TTL of peers via tracepath/tracepath6

retrieve_stats.cpp : retrieves the country and ISP information and analyzes
                     IPv6 addresses.

retrieve_rtt.cpp : calculates the RTT information.

table.sql : contains MySQL table information

data.sql : contains the data already retrieved and the table information
________________________________________________________________________________

Librairies Required:

  - pcap for the sniffer (development library) 
  
  - libtorrent rasterbar for the BitTorrent client. All information about how to
    build the library is present at http://www.rasterbar.com/products/libtorrent.
    The configuration must a least include:
      ./configure --with-logging=verbose CPPFLAGS='-DBOOST_FILESYSTEM_VERSION=2'
    
    The 0.14.2 version of libttorrent is advised. The 0.14.5 has bugs which
    prevent the functioning of our client.  
    
  - MySQL++ for every program. The configuration must at least contain the 
    following option: --enable-thread-check
    
  - MySQL server
  
  - MySQL client supporting threads (libmysqlclient_r)
  
  - Boost which is required for the libtorrent library
________________________________________________________________________________

How to insert SQL files

  1. Create the ulgtorrent database in MySQL with: CREATE DATABASE ulgtorrent;
  2. To import:
     Table:           mysql -u root -p -h localhost ulgtorrent < table.sql
     Table + data :   mysql -u root -p -h localhost ulgtorrent < data.sql
     The root password must be typed.
     
  Explanations about the different fields are present in the report.
________________________________________________________________________________  

Compilation :

Specify in the Makefile the name of the following Boost libraries depending 
on the Boost version you installed:
  - system
  - filesystem
  - program_options
  - regex
  - thread
Other libraries are normally automatically linked. If you install the different
libraries in non default location, please make the necessary change in the 
Makefile.

Compile with 'make' command.
________________________________________________________________________________

How to run programs (retrive_rtt, sniffer must be started in root mode):

  - ulgtorrent: ./ulgtorrent <IPv4_address> <IPv6_address>
  - retrieve_rtt: ./retrieve_rtt <IPv4_address> <IPv6_address>
  - sniffer: ./sniffer <IPv4_interface> <IPv4_address> <IPv6_interface> <IPv6_address>
  - retrieve_stats: ./retrieve_stats
  - retrieve_mtu: ./retrieve_mtu
________________________________________________________________________________

Folder and files that are created by the programs:
  - /home/UserName/torrent: the .torrent files are dowloaded there 
  - /home/UserName/save: where the files downloaded are located 
    (in fact, nothing is downloaded. It is just to save the directories 
    of the torrents that contain more than one file).
  - /home/UserName/networks: contains the networks4.txt and networks6.txt
    that list all the different IP range found via whois queries.

Source: README, updated 2012-04-10