TCP Testing Tool (ttt)
----------------------

ttt is a tool that can generate TCP segments with arbitrary values for
any field in the IP or TCP headers. A TCP payload can be added to the
segment by specifying the file with the payload in the command line (-P
option) or by passing the payload via standard input (piping the output
of another command to ttt.)

ttt does pretty much the same thing as the nemesis-tcp program (but 
is written from scratch though some CLI switches are shared) from the
Nemesis package. The basic differences are: 1) support for long option
names, 2) support for a couple of TCP options, being TCP signatures the
most notable one, 3) support for some additional TCP header fields, and
4) ability to iterate through some combinations of TCP header fields
(see below.)

There is no man page for ttt, but if you run ttt with the -h switch you
will get a help text that contains all the options ttt understands.

ttt uses a "peculiar" way for specyfing numbers that provides a nice
flexibility: for almost all numbers in the IP and TCP fields (8, 16
and 32-bit numbers) you can use the following syntax (we'll use a
sample switch "-z" to show this):

-z telnet (port 23. This only works for 16-bit quantities)
-z 23 (port 23)
-z 23+ (start with 23, then increment with each successive packet)
-z 23- (start with 23, then decrement with each successive packet)
-z 23-25 (from 23 to 25, both inclusive)
-z 25-23 (from 25 to 23)
-z random (use a random number. Can use a subset of the string "random")

There isn't a lot of error checking in these number specifications,
so avoid doing strange things, like putting whitespace in the
specification, e.g. "-z 23 - 25" (use "-z 23-25" instead.)

The above numerical specifications can be used for any 8, 16 and 32-bit
numbers, with the exception of IP addresses (these are specified in
numeric dot format, i.e. w.x.y.z, or by the DNS host name).

ttt uses raw sockets, so it must be run as root.

Eloy Paris
Cisco Systems Critical Infrastructure Assurance Group (CIAG)
Questions to: ciag-tools@cisco.com

$Id: README,v 1.3 2003/07/15 18:07:00 peloy Exp $
