Netcat cheatsheet
Netcat listening on port 567/TCP:
nc -l -p 567
Connecting to that port from another machine:
nc 1.2.3.4 5676
To pipe a text file to the listener:
cat infile | nc 1.2.3.4 567 -q 10
To have the listener save a received text file:
nc -l -p 567 > textfile
To transfer a directory, first at the receiving end set up
nc -l -p 678 | tar xvfpz
Then send the directory:
tar zcfp - /path/to/directory | nc -w 3 1.2.3.4 678
To send a message to your syslog server (the <0> means emerg):
"echo '<0>message' | nc -w 1 -u syslogger 514"
Setting up a remote shell listener:
nc -v -e '/bin/bash' -l -p 1234 -t
or
nc l p 1234 e "c:\windows\system32\cmd.exe"
Then telnet to port 1234 from elsewhere to get the shell.
Using netcat to make an HTTP request
echo -e "GET http://www.google.com HTTP/1.0nn" | nc -w 5 www.google.com 80
Making a one-page webserver; this will feed homepage.txt to all comers.
cat homepage.txt | nc -v -l -p 80