nc, as the executable is traditionally named) is a simple but powerful utility program that reads and writes data across network connections,
using TCP or UDP protocol, IPv4 or IPv6, functioning as a client or a server.
It is designed to be a reliable “back-end” tool that can be easily driven by other programs and scripts, but is also well suited to interactive (command-line) usage.
It is so versatile that it is called the “TCP/IP Swiss Army Knife”.
Netcat can be used as a test tool, to exercise network components (e.g., products),
but it can also be a building block in a simple prototype system.
It is conceptually a network-enabled version of the Unix
cat program, reading data from one place and writing somewhere else. Like
cat, it can handle textual or binary data.
Initially developed for Unix, Netcat is now also available for Windows.
The Unix versions can operate on Unix domain sockets as well as network sockets.
GNU Netcat is distributed freely under the GNU General Public License (GPL).
References: https://en.wikipedia.org/wiki/Netcat, http://nc110.sourceforge.net/index.html, http://netcat.sourceforge.net/index.php (GNU Netcat), and http://www.openbsd.org/cgi-bin/man.cgi?query=nc (a man page).