- Install Netcat On Windows 10
- Install Netcat Linux
- Install Netcat Debian
- Install Netcat Yum
- Install Netcat On Centos
To install netcat
We are going to install netcat on Ubuntu 18.04 machine using apt install
or compiling it from source code.
Install Netcat On Windows 10
Installation using apt is pretty simple, you just need to type the following command in the terminal:
To install netcat. We are going to install netcat on Ubuntu 18.04 machine using apt install or compiling it from source code. Installation using apt is pretty simple, you just need to type the following command in the terminal. Netcat is a relatively easy program to obtain, configure, and install. In fact, most distributions of Unix and Linux have a precompiled version of Netcat already installed and configured.
To install netcat from source code
Compiling netcat from source code is not as easy as installing via apt install
, but if you follow the steps below you can install it easily.
Download the source code from netcat website with the following command
Extract the newly downloaded archive. To do so you can run:
cd
to the directory containing the package's source code and type ./configure
to configure the package for your system.
If you are getting error message like this - 'no acceptable C compiler found in $PATH' when running ./configure command, make sure you have installed gcc compiler. To install it type the following command:
Running configure
takes awhile.
Once configure has been successfully finished run:
and
You can remove the program binaries and object files from the source code directory by typing make clean
. To also remove the files that configure
created, run make distclean
command.
How to use netcat
Before starting to explore some netcat commands it's important to know that if you are binding to well-known ports (0-1023) with nc, you need root privilege. Otherwise, you can run nc as a normal user.
1. Test if a particular TCP port of a remote host is open
Output if the 2424 port on remote server is closed
Output if the port on remote server is opened (e.g. 22 port)
2. Perform TCP port scanning against a remote host
The command below will check the ports from 20 to 25 on the remote host and print the result.
Output will look like this
3. Perform UDP port scanning against a remote host
Output will show only the ports which allow udp connections.
4. Send a test UDP packet to a remote host
The command above will send a test UDP packet with 1 second timeout to a remote host at port 2424
5. Copy a file (e.g., test.txt) from one host to another
On the receiver host (184.145.20.128 in my case) run:
On the sender host (184.145.20.126) run the following command:
This will copy test.txt file from sender host to receiver host via 2424 port. make sure to allow incoming connections on 2424 port on the receiver host.
6. Transfer a whole directory (including its content) from one host to another
On the receiver host run:
On the sender host run the following command:
7. Create a compressed backup of hard drive (e.g., /dev/sdc) on a remote host
On the remote host run:
On the local host run the following command:
Install Netcat Linux
8. Restore a hard drive (e.g. /dev/sdc) from a compressed disk image stored in a remote host
On the local host run:
On the remote host run the following command:
9. Run insecure online chat between two hosts
On one host (e.g. 184.145.20.126) run the command below:
On another host (e.g. 184.145.20.128) run the following command:
After running these commands, anything typed in both terminals will be seen on both host machines.
10. Run a web server with a static web page
Run the command below on local host (e.g. 184.145.20.126) to start a web server that serves test.html on port 80. Note that you must run with sudo privileges as 80 is in range of well known ports (1-1023)
Now open http://184.145.20.126/test.html
from another host to access it.
11. Listen on a TCP port using IPv6 address
You can use the following command to allow nc use IPv6 address when listening on a TCP port.
Install Netcat Debian
Check if it works with the command below
Output will look like this
12. Stream a video file from a server for client to watch the streamed video using video player (e.g., mplayer)
On a video server (184.145.20.126):
On a client host (184.145.20.128):
nc 184.145.20.126 2424 | mplayer -vo x11 -cache 3000 -
Here's netcat 1.11 compiled for both 32 and 64-bit Windows (but note that 64-bit version hasn't been tested much - use at your own risk).Install Netcat Yum
I'm providing it here because I never seem to be able to find a working netcat download when I need it.Install Netcat On Centos
Small update: netcat 1.12 - adds -c command-line option to send CRLF line endings instead of just CR (eg. to talk to Exchange SMTP)
Warning: a bunch of antiviruses think that netcat (nc.exe) is harmful for some reason, and may block or delete the file when you try to download it. I could get around this by recompiling the binary every now and then (without doing any other changes at all, which should give you an idea about the level of protection these products offer), but I really can't be bothered.