Some of the examples in the text use the netcat program (
nc) as a client application. Netcat describes itself as a “TCP/IP Swiss army knife” because it is designed to handle a variety of common chores.
Its name comes from the fact that it tries to act as much as possible like the UNIX
cat utility but over a network. Thus, its basic purpose is to read and write data across a network using TCP or UDP. Although used in this text primarily as a
telnet-like utility to connect to servers on the same or other machines, it is much more flexible. We can gain an appreciation for some of that flexibility by asking netcat to print its help information, as shown in Figure B.1.