HOW DTK FUNCTIONS:

DTK has 4 basic execution starting points:

	1) Generic.pl - enters via TCP wrappers:
		in.telnetd:	127.0.0.1:	twist /dtk/Generic.pl %a 23 %u %d unknown
	2) Telnet.pl - enters via TCP wrappers and a modified telnet daemon:
		in.telnetd:	127.0.0.1:	twist /dtk/telnetd/telnetd -L /dtk/Telnet.pl -P %a
	3) listen.pl - enters via user command or in the rc.local file:
		/dtk/listen.pl 79&
	4) udplisten.pl - enters via user command or in the rc.local file:
		/dtk/udplisten.pl 7&

In each case, the configuration files used in DTK are stored in
WORKING_DIR - which we will assume from here on in to be '/dtk'.  When
you install DTK, you install it SOMEWHERE ELSE - that is - NOT in /dtk -
perhaps you home directory.  Detailed examples of each of these entry
techniques are included in the dtk.* files in /dtk. 

In /dtk, there are a variety of perl programs, log file(s), other files,
and one or more finite state machine (FSM) directories.  For now, we
will keep our attention on the /dtk/default directory which contains the
default FSM files.  Alternative FSM directory names correspond to IP
addresses (e.g., 127.0.0.1 would be for localhost deceptions).  If the
DESTINATION address (the host IP address of THIS HOST which the remote
user connected to) is found to correspond to one of these directories,
and that directory has a FSM file that DTK is looking for, DTK will use
that FSM instead of the FSM in the /dtk/default directory. Otherwise, it
will use the default.

No matter which entry you use to DTK, most things that DTK does are
common.  The only real difference is how DTK establishes the connection
with the remote system and what information is has available to it.
The most commonly used (and non-trivial) components of DTK are:

	/dtk/logging.pl		produces log files
	/dtk/respond.pl		runs the FSMs to generate responses
	/dtk/orders.pl		carries out orders from the FSM

DTK first loads the FSM corresponding to the port the user came in on
(e.g., /dtk/default/80.response), then carries out any orders that FSM
may have included (/dtk/orders.pl), then interprets the user input with
the FSM to produce outputs and next sates for the next input
(/dtk/respond.pl).  At each step a log entry is generated
(/dtk/logging.pl).  This loop continues until either, (1) the maximum
loop count is exceeded, (2) no input comes for the maximum wait around
time, (3) the FSM orders the loop to terminate, or (4) the user
disconnects. In each of these cases a log entry is also generated.

HOW YOU CONFIGURE DTK:

1) Deposit the DTK tar file from the distribution into a directory on
your system - typically something like /usr/fred/src/dtk - and extract
the content of the distribution file using a command something like:
	tar -xvof dtk.tar

2) Run the program 'Configure' from that directory.  You have to be root
in order to get DTK installed - so be careful!
	./Configure

Configure asks you 14 questions - most of which can be defaulted (at
your own peril). Details on these questions are explained elsewhere.

3) Start any DTK processes, modify your /etc/hosts.allow files, and do
all the other systems adminsitration required to get DTK to run on your
system.

4) Test DTK to make sure the deception is working just as you like it.
