netcat is the TCP/IP Swiss Army Knife
The nc (or netcat) utility is used for just about anything under the sun involving TCP or UDP. It can open TCP connections, send UDP packets, listen on arbitrary TCP and UDP ports, do port scanning, and deal with both IPv4 and IPv6. Unlike telnet(1), nc scripts nicely, and separates error messages onto standard error instead of sending them to standard output, as telnet(1) does with some.
Common uses include:
- simple TCP proxies
- shell-script based HTTP clients and servers
- network daemon testing
- a SOCKS or HTTP ProxyCommand for ssh(1)
- and much, much more
Transfer files over network
On destination host, listening on specified port, waiting to receive stream
Example: waiting to receive a tar file and then extract it to the destination folder:
Example: listen on port, save the received file to terry.tar.gz
Send the file (terry.tar.gz)
Option -q: after EOF on stdin, wait the specified number of seconds and then quit. If seconds is negative, wait forever.
NOTE: For security reasons, scp or rsync over SSH are recommended.
Use netcat as chat service
netcat as a port scanner
Port Scan a range of hosts (IPs) using netcat
Example, discover VNC on port 5900 (:0)
NOTE: use range in form of 192.168.0-255.1-127
Other useful tools