10 Useful ncat Commands on AlmaLinux with Examples
This tutorial aims to provide a comprehensive guide to 10 Useful ncat Commands on AlmaLinux with Examples. ncat
, often referred to as nc
, is a versatile command-line utility for reading and writing data across computer networks. Its capabilities extend to both TCP and UDP protocols, making it a valuable tool for various tasks, including port scanning, security auditing, network monitoring, and acting as a simple TCP proxy. Understanding 10 Useful ncat Commands on AlmaLinux can significantly enhance your network administration skills.
To fully benefit from this guide on 10 Useful ncat Commands on AlmaLinux, you’ll need access to an AlmaLinux server. You can operate as either the root user or a non-root user with sudo
privileges. If you require assistance with the initial setup of your AlmaLinux server, you can refer to these guides:

Install ncat Command on AlmaLinux
Before diving into the examples, ensure that ncat
is installed on your AlmaLinux system. Begin by updating the system packages:
sudo dnf update -y
Next, install ncat
using the following command:
sudo dnf install nmap-ncat -y
Once the installation is complete, you’re ready to explore the 10 Useful ncat Commands on AlmaLinux with Examples.
10 Useful ncat Commands Examples
Let’s explore 10 Useful ncat Commands on AlmaLinux:
Example 1: Listen To Inbound Connection with ncat Command
To listen for inbound connections, use the -l
option. This puts ncat
in listening mode on a specified port. For instance, to listen on port 8080:
ncat -l 8080
This command instructs ncat
to listen for incoming TCP connections on port 8080. Any client attempting to connect to this port on your AlmaLinux server will establish a connection.
Example 2: Use ncat Command to Connect to a remote system
ncat
can connect to a remote system using its IP address and port number. This allows you to send data or commands to a service running on that system.
ncat 192.168.1.100 80
This command attempts to establish a TCP connection to the server at IP address 192.168.1.100 on port 80 (typically used for HTTP).
Example 3: Connect to UDP Ports with ncat Command
While ncat
defaults to TCP, you can use the -u
option to connect to UDP ports. UDP is a connectionless protocol, so ncat
will send UDP packets to the specified address and port.
ncat -l -u 5050
This command tells ncat
to listen for incoming UDP packets on port 5050.
Example 4: Use ncat as a Chat Tool
ncat
can be used to create a basic chat application. One instance of ncat
listens for connections, while another connects to it. Anything typed into one terminal will be sent to the other.
On the server:
ncat -l 8080
On the client:
ncat 192.168.1.100 8080
After running these commands, you can type messages in either terminal, and they will appear in the other.
Example 5: Configure ncat as a Proxy
ncat
can function as a simple proxy, forwarding connections from one port to another. This can be useful for redirecting traffic or creating a simple tunnel.
ncat -l 8080 | ncat 192.168.1.200 80
This command listens on port 8080 and forwards all connections to the server at 192.168.1.200 on port 80. For bidirectional communication:
# mkfifo 2way
# ncat -l 8080 0<2way | ncat 192.168.1.200 80 1>2way
This sets up a named pipe called 2way
and uses it to redirect both input and output between the two ncat
instances, enabling two-way communication.
Example 6: Copy Files with ncat Command
ncat
provides a simple way to transfer files between systems. One instance listens for the file, while the other sends it.
On the receiver:
ncat -l 8080 > file.txt
On the sender:
ncat 192.168.1.100 8080 --send-only < data.txt
This will copy the contents of data.txt
from the sender to file.txt
on the receiver.
Example 7: Create a Backdoor with ncat Command
Warning: This example is for educational purposes only. Creating backdoors on systems you do not own or have permission to access is illegal and unethical.
ncat
can be used to create a simple backdoor, allowing remote access to a shell on a system.
ncat -l 10000 -e /bin/bash
This command listens on port 10000 and executes /bin/bash
when a connection is established.
On the client:
ncat 192.168.1.100 10000
This connects to the server on port 10000, providing a remote shell.
Example 8: Port Forwarding with ncat Command
ncat
can forward traffic from one port to another on the same system.
ncat -u -l 80 -c 'ncat -u -l 8080'
This forwards all UDP traffic received on port 80 to port 8080.
Example 9: Set Timeouts Connections Via ncat Command
The -w
option sets a timeout for connections. If a connection is idle for longer than the specified timeout, it will be terminated.
ncat -w 10 192.168.1.100 8080
This command attempts to connect to 192.168.1.100 on port 8080 and will terminate the connection if it remains idle for 10 seconds.
Example 10: Force the Server To Stay Connected with ncat
The -k
option forces the server to continue listening for connections even after a client disconnects.
ncat -l -k 8080
This command tells ncat
to keep listening on port 8080 even after a client disconnects.
Alternative Solutions and Examples
While ncat
is a powerful tool, alternative solutions exist for some of the tasks it performs. Here are two alternative ways to achieve similar results:
1. Alternative to File Transfer: Using scp
Instead of ncat
for file transfer, the scp
(Secure Copy) command provides a more secure and often simpler method. scp
utilizes SSH for encrypted file transfers.
- Explanation:
scp
encrypts the data during transfer, protecting it from eavesdropping. It also integrates with SSH authentication, making it easier to manage access control. -
Code Example:
scp /path/to/local/file.txt user@remote_host:/path/to/remote/destination/
This command copies
file.txt
from the local machine to the specified directory on the remote host using SSH. You’ll be prompted for the user’s password on the remote host (or it will use SSH keys if configured).
2. Alternative to Simple Proxy: Using ssh
Tunneling
Instead of using ncat
as a simple proxy, SSH tunneling offers a more secure and robust solution, especially when dealing with sensitive data.
- Explanation: SSH tunneling (also known as port forwarding) creates an encrypted tunnel between your local machine and a remote server. This protects the data transmitted through the tunnel from being intercepted. It’s suitable for forwarding traffic to services that might not natively support encryption.
-
Code Example:
ssh -L local_port:target_host:target_port user@remote_host
This command creates an SSH tunnel. Replace
local_port
with the port you want to listen on your local machine,target_host
with the hostname or IP address of the server you want to connect to from the remote host, andtarget_port
with the port number on the target server.user@remote_host
is the SSH login for the remote server. For example, to access a web server running oninternal.example.com
at port 80 on a server you SSH into asuser@gateway.example.com
, you might use:ssh -L 8080:internal.example.com:80 user@gateway.example.com
Then, on your local machine, you can access the web server by opening your web browser to
http://localhost:8080
. All traffic is securely tunneled through the SSH connection.
Conclusion
This article demonstrated 10 Useful ncat Commands on AlmaLinux with Examples. ncat
proves to be a versatile network tool for various tasks, including proxying, chatting, and port forwarding. Furthermore, it provided alternative solutions such as scp
for file transfers and SSH tunneling as an alternative to simple proxying, expanding your understanding of network management. Hope you found this guide helpful!
You may be interested in these articles: