
 nssl is intended to be a netcat-like program with SSL support (both clear
 and encrypted sessions can be used). it requires OpenSSL (tested with
 OpenSSL 0.9.6). a default PEM certificate and private key is hardcoded in
 nssl for the server part (the one used is from apache modssl server.crt,
 server.key). to compile, it's assumed that OpenSSL is installed in
 /usr/local/ssl (modify Makefile if necessary). It uses sslv23 in server
 mode and sslv3 for client mode since some servers does not support v23.

examples:

* to log hexdump of traffic to logfile:

	 ./nssl 0 443 -o 2>log

* to run an ssl server on a specific port and connect to it w/ src port 1234:

	./nssl -l 9999 && ./nssl 0 9999 -p 1234

* to load a different cert/priv from PEM file (default one is hardcoded):

	./nssl -l 9999 -f ./server.pem

* to get options of https server: 

	echo -n -e "OPTIONS / HTTP/1.0\r\n\r\n" | ./nssl 0 443

* to get options of http server:

	echo -n -e "OPTIONS / HTTP/1.0\r\n\r\n" | ./nssl -r 0 80

* to set up an ssl discussion without canonical mode (it's nicer in realtime):

	./nssl -cl 9999 && ./nssl -c 0 9999

* to transfer a file with ssl enabled:

	./nssl -l 9999 > proggie.tgz && ./nssl 0 9999 < /private/bleh.tgz

* to run a shell after an incoming connection is established (clear mode):

	./nssl -rl 9999 -e /bin/sh && ./nssl -r 0 9999

* to run a poor-man-ssh on a port:

	./nssl -l 9999 -e /bin/login && ./nssl 0 9999

* to set-up a bounce on a local port (proxying to 192.168.0.10:995 on port 5555):

	./nssl -x 9999 192.168.0.10 995 && ./nssl -r 0 9999

-ga


