back to index
daemontools install instructions
ucspi-tcp install instructions
getting started with tcpserver
setup of a daytime server
common tcpserver setups

ucspi-tcp-0.88 install instructions

These install instructions were once part of the BLFS book (see Beyond Linux From Scratch), but for some reason they have been removed. I have modified the instructions to reflect my personal taste.

Package information

Additional downloads

Installation of ucspi-tcp

Install ucspi-tcp by running the following commands:

tar xvzf ucspi-tcp-0.88.tar.gz &&
cd ucspi-tcp-0.88 &&
patch -Np1 -i ../ucspi-tcp-0.88.errno.patch &&
sed 's|/usr/local|/usr|' conf-home > conf-home~ &&
mv -f conf-home~ conf-home &&
make &&
make setup check

Man pages are not included in the tarball, so install this package if you want online help with the ucspi-tcp programs:

tar xvzf ucspi-tcp-0.88-man.tar.gz &&
cd ucspi-tcp-0.88-man &&
gzip *.1 &&
cp *.1.gz /usr/share/man/man1

Command explanations

sed 's|/usr/local|/usr|' conf-home > conf-home~ &&
mv -f conf-home~ conf-home

These commands change the installation directory to /usr/bin from the default of /usr/local/bin.


The ucspi-tcp package contains tcpserver, tcprules, tcprulescheck, argv0, fixcrio, recordio, rblsmtpd, tcpclient, who@, date@, finger@, http@, tcpcat, mconnect, addcr and delcr

You can also find detailed descriptions of each of these programs at, but here is a brief summary:



tcpserver listens for incoming TCP connections on a given port, and runs a program of your choosing in response to a connection.


tcprules compiles rules that govern access control for tcpserver into a fast access database format.


tcprulescheck makes it possible to see how tcpserver will react to connections from a given address without actually having to connect via that address. This is useful for checking to see if the access control rules you are using are doing what you expected.


argv0 runs a given program with a specified 0th argument.


fixcrio inserts carriage returns at the end of lines when they are missing.


recordio records all input and output of a program given as an argument.


rblsmtpd is a spam blocking program that works in conjunction with your SMTP daemon and tcpserver.


tcpclient creates a connection to a TCP port for a given program.


who@ is a demonstration program using tcpclient that has the functionality of the rwho program. It requires a server running sysstat on port 11.


date@ is a demonstration program using tcpclient that will return the system time of a remote host which is running a daytime service on port 13.


finger@ is a demonstration program using tcpclient that mimics the functionality of the finger program. It requires a server running fingerd on port 79.


http@ downloads web pages from web servers.


tcpcat connects to a TCP port and prints all that is returned from the port.


mconnect connects to a TCP port, delivers any input specified to the port, and prints any output from the port.


addcr adds carriage returns to files.


delcr removes carriage returns from files.


Stefan Krah <website @>