Skip to content

Instantly share code, notes, and snippets.

@cmbaughman
Created January 6, 2015 17:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save cmbaughman/c91f41ba7b2cf71106f1 to your computer and use it in GitHub Desktop.
Save cmbaughman/c91f41ba7b2cf71106f1 to your computer and use it in GitHub Desktop.
Netcat (nc) cheatsheet

##Netcat Commands

NOTE: - If on Ubuntu, you need the REAL nc package, to get it use:

sudo apt-get -y install netcat-traditional
sudo update-alternatives --config nc
# Select the nc.traditional option

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment