Netcat cheatsheet

Netcat listening on port 567/TCP:

nc -l -p 567

Connecting to that port from another machine:

nc 5676

To pipe a text file to the listener:

cat infile | nc 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 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
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/1.0nn" | nc -w 5 80

Making a one-page webserver; this will feed homepage.txt to all comers.

cat homepage.txt | nc -v -l -p 80