--- /dev/null
+After reading Brian Hatch's [Nmap Version Detection Rocks][nmap], I
+wanted to set up a simple socket-connection test. Here are my notes:
+
+Start a plain-text socket echoing incomming text using [netcat][]:
+
+ a$ nc -l -p 8080 a.example.net
+
+The `-l` (listen) switches netcat into server mode.
+
+Echo text to that port
+
+ b$ echo 'hi there' | nc -q 1 a.example.net 8080
+
+The `-q 1` tells netcat to quit after an EOF is detected. When the
+client quits, the connection breaks, and the server goes down on its
+own. If you want netcat to stay up you'll have to restart it:
+
+ $ $ while nc -l -p 8080 tyr; do :; done
+
+The `:` is Bash's noop.
+
+
+For a secure connection, use [OpenSSL][] (see [[X.509_certificate]]
+for more on generating keys and certificates):
+
+ a$ openssl s_server -key key.pem -cert cert.pem -accept 8080
+
+Connect with
+
+ b$ echo 'hi there' | openssl s_client -connect a.example.net:8080
+
+The OpenSSH client automatically closes on EOF, but the server stays
+open for new connections. You'll have to kill it manually when you're
+done.
+
+If you don't like OpenSSL, you can also use [stunnel][] for SSL
+connections. Examples are all over. [This post][DB] by Dustin Breese
+seems good.
+
+[nmap]: http://www.hackinglinuxexposed.com/articles/20031006.html
+[netcat]: http://nc110.sourceforge.net/
+[OpenSSL]: http://www.openssl.org/
+[stunnel]: http://stunnel.mirt.net/
+[DB]: http://dustinbreese.blogspot.com/2008/09/stunnel.html
+
+[[!tag tags/linux]]
+[[!tag tags/tools]]