This is the first release of "scan-detector", a simple detector for
automated scans of TCP/UDP ports on a host.  It is written in Perl v5
for portability.

The manual page describes the options and operation of the tool, as do
the comments at the beginning of the program.

If you have suggestions, enhancements, bug fixes or other comments on
this code, please send them to scan-detector@cs.purdue.edu

The code is in the file "sd.tar".  The file "sd.tar.asc" contains a
PGP standalone signature of the code as evidence against tampering.  
The key used is spaf's, and a copy of his public key, with all signatures,
is enclosed below.  To verify the signature, type
	pgp sd.tar.asc
If the signature verifies, then you can unpack the code in sd.tar and
go with it!


Christoph Schuba
Gene Spafford

COAST Laboratory
Department of Computer Sciences
Purdue University

May 1995


-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: 2.6.1
Comment: Also @ ftp://ftp.cs.purdue.edu/pub/spaf/pers/pgpkey.asc

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
TrMB4pdiPRJw3VCp/asuJvv4Ozo91G7jyiY=
=bMeQ
-----END PGP PUBLIC KEY BLOCK-----



