Using SProbe

There are two bottleneck bandwidths for each network path, one in each direction:

The direction from the local computer (where SProbe runs) to a remote Internet machine is called the downstream direction. To measure the bottlleneck bandwidth of the downstream direction, a generic SProbe command is:

                    sprobe -p 100 -s 1460 -t 6 -c 10 -d machine_to_measure

                        -p indicates the port number. Try to pick a non-responsive port (port 100 seems to be a consistently good choice)
                        -s indicates payload size of the probing packets. These packets should be large. 1460 is the Ethernet frame -- most of people should not change this
                        -t indicates the number of probing packets (out of which only 2 are large). Use either 6, 4 or 2. Typically 6 is a good idea.
                        -c indicates the number of times SProbe tries to produce an estimate. (In certain cases - cross-traffic - SProbe chooses not to report an estimate).
                        -d indicates the direction - downstream

        Example: To measure bottleneck bandwidth to www.cs.berkeley.edu, I use:

                                                ./sprobe -p 100 -s 1460 -t 6 -c 10 -d www.cs.berkeley.edu

        Note that hosts behind firewalls will appear to SProbe as being offline. Most high visibility web servers are behind firewalls (e.g. www.cnn.com).  
        Also, make sure you don't send large streams of SYN packets (small t, please). Be warned that SYN streams can raise alarms on some firewalls. 

The direction from a remote Internet machine to the local computer is called the upstream direction. In this direction, SProbe can only measure bottleneck bandwidths from Web servers and Gnutella peers.

A typical SProbe command to measure the upstream bottleneck bandwidth from a Web server is:

sprobe -p 80 -h ip_addr_of_web_server 

                -p is the port number - for a web server the port is usually 80
                -h stands for HTTP (web)

        Example: To measure bottleneck bandwidth from www.cnn.com, I use:

                                   ./sprobe -p 80 -h www.cnn.com

 
A typical SProbe command to measure the upstream bottleneck bandwidth from a Gnutella peer is:

           sprobe -p 6346 -g ip_addr_of_Gnutella_host

                -p is the port number
                -g stands for Gnutella

        Example: To measure bottleneck bandwidth from 128.95.3.93, I use:

                                ./sprobe -p 6346 -g 128.95.3.93

For more info contact: Stefan Saroiu