=head1 NAME

tcpblast - tool for measuring network bandwidth

=head1 SYNOPSIS

B<tcpblast> [options] I<destination[:port]>

=head1 DESCRIPTION

tcpblast/udpblast is a simple tool for probing network and estimating its
throughput. By default it sends 300 blocks (1024 bytes each) of data to
specified destination host.

Destination can be name or address, IPv4 or IPv6. When IPv6 address is specified
with port it should look like: '[3ffe:8010::1]:9' (with single quotes to prevent
shell expansion of []).

=head2 Options

=over 3

=item B<-4, --ipv4>           use only ipv4 address

=item B<-6, --ipv6>           use only ipv6 address

=item B<-a>                   send random data

=item B<-b> I<BUF_SIZE>          socket buf size (default: -1, don't change), with `-' to be substracted from results

=item B<-c, --count> I<BLOCKS>   change default (300) number of blocks, range: 1..10000000

=item B<-d> I<DOTFREQ>           print dot every DOTFREQ blocks, disables cont. speed disp.

=item B<-h, --help>           this help

=item B<-i, --delay> I<DELAY>    write delay in microseconds (EXPERIMENTAL)

=item B<-l, --last> I<BLKS>      show also speed for last BLKS blocks

=item B<-m>                   results for every block in separate line

=item B<-n, --nwrite>         do not write, use e.g. with chargen port

=item B<-o>                   switch from continuous speed displaying to dots printing

=item B<-p PORT>              bind this local PORT

=item B<-q --quiet>           show only final statistics

=item B<-r, --read>           read data returned to us, switches default port to echo

=item B<-R, --rate> I<RATESPEC>  limit the speed according to the RATESPEC

=item B<-s> I<BLOCK_SIZE>        block size (default 1024 bytes)

=item B<-t> I<MAXTIME>           limit time to MAXTIME (up to 42950 h)

=item B<    --tcp>            use TCP (default)

=item B<    --udp>            use UDP (default if named udpblast)

=item B<-v, --verbosity>      verbosity, default 0, maximum 3. -v adds time display, -vv also speed in B/s, -v - speed in b/s.

=item B<-V>, B<--version>        version

=item I<destination>          host name or address

=item I<port>                 use port #/name xyz instead of default port 9

=back

RATESPEC         RATE[,TIME][:RATE[,TIME]]...
RATE             generating data at RATE speed in B/s
TIME             for TIME seconds (can be floating point number), last can
                   be omitted and that time will be infinite

Options -b, -c, -R, -s and -t can use case insensitive unit multipliers and
specifiers:
  size (bytes):
    -b and -s argument without units is in bytes, can use [{k,m,g}]b (lower
    or upper case) for KB, MB or GB. {k,m,g} are powers of 1024.
  number:
    -c argument is just a number, can have k, m or g added (powers of 1024),
    no unit needed
  rate (bytes pes second):
    -R RATE is in B/s or Bps, the postfixes can be [{k,m,g}]{b/s,bps}
  time (seconds):
    -t and -R TIME argument is in seconds, can be postfixed with
    [{k,m,g}]{s,min,h,w,m,y}

Example:
  tcpblast -b 4KB -c 10k -R 10kbps,2:20kbps,3s target

tcpblast version: FreeBSD + rzm 20001030

=back

=head1 BUGS

Rafal says that he is a perfectly bad and careless maintainer  :)

If You found any other bugs send it to him.

=head1 AUTHORS

=over 3

=item Software: dfk@nic.eu.net (Daniel Karrenberg - acc. to FreeBSD version)

=item Maintained by: Rafal Maszkowski <rzm@icm.edu.pl>

=item Manual page: Artur R. Czechowski <arturcz@bofh.org.pl>, Oct 1999; rzm, Oct 2000

=cut
