Este conteúdo não está disponível no idioma selecionado.
1.7. Managing Data Using the ncat utility
The ncat networking utility replaces netcat in Red Hat Enterprise Linux 7. ncat is a reliable back-end tool that provides network connectivity to other applications and users. It reads and writes data across the network from the command line, and uses Transmission Control Protocol (TCP), User Datagram Protocol (UDP), Stream Control Transmission Protocol (SCTP) or Unix sockets for communication. ncat can deal with both
IPv4 and IPv6, open connections, send packets, perform port scanning, and supports higher-level features such as SSL, and connection broker.
The
nc command can also be entered as ncat, using the identical options. For more information about the ncat options, see the New networking utility (ncat) section in the Migration Planning Guide and the ncat(1) man page.
Installing ncat
To install the ncat package, enter as
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
root:
yum install ncat
~]# yum install ncat
Brief Selection of ncat Use Cases
Example 1.1. Enabling Communication between a Client and a Server
- Set a client machine to listen for connections on TCP port 8080:
ncat -l 8080
~]$ ncat -l 8080Copy to Clipboard Copied! Toggle word wrap Toggle overflow - On a server machine, specify the IP address of the client and use the same port number:
ncat 10.0.11.60 8080
~]$ ncat 10.0.11.60 8080Copy to Clipboard Copied! Toggle word wrap Toggle overflow You can send messages on either side of the connection and they appear on both local and remote machines. - Press
Ctrl+Dto close the TCP connection.
Note
To check a UDP port, use the same
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
nc commands with the –u option. For example:
ncat -u -l 8080
~]$ ncat -u -l 8080
Example 1.2. Sending Files
Instead of printing information on the screen, as mentioned in the previous example, you can send all information to a file. For example, to send a file over TCP port 8080 from a client to a server:
- On a client machine, to listen a specific port transferring a file to the server machine:
ncat -l 8080 > outputfile
~]$ ncat -l 8080 > outputfileCopy to Clipboard Copied! Toggle word wrap Toggle overflow - On a server machine, specify the IP address of the client, the port and the file which is to be transferred:
ncat -l 10.0.11.60 8080 < inputfile
~]$ ncat -l 10.0.11.60 8080 < inputfileCopy to Clipboard Copied! Toggle word wrap Toggle overflow
After the file is transferred, the connection closes automatically.
Note
You can transfer a file in the other direction as well:
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
ncat -l 8080 < inputfile
~]$ ncat -l 8080 < inputfile
ncat -l 10.0.11.60 8080 > outputfile
~]$ ncat -l 10.0.11.60 8080 > outputfile
Example 1.3. Creating an HTTP proxy server
To create an HTTP proxy server on localhost port 8080:
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
ncat -l --proxy-type http localhost 8080
~]$ ncat -l --proxy-type http localhost 8080
Example 1.4. Port Scanning
To view which ports are open, use the
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
–z option and specify a range of ports to scan:
ncat -z 10.0.11.60 80-90
Connection to 192.168.0.1 80 port [tcp/http] succeeded!
~]$ ncat -z 10.0.11.60 80-90
Connection to 192.168.0.1 80 port [tcp/http] succeeded!
Example 1.5. Setting up Secure Client-Server Communication Using SSL
Set up
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
SSL on a server:
ncat -e /bin/bash -k -l 8080 --ssl
~]$ ncat -e /bin/bash -k -l 8080 --ssl
On a client machine:
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
ncat --ssl 10.0.11.60 8080
~]$ ncat --ssl 10.0.11.60 8080
Note
To ensure true confidentiality of the
SSL connection, the server requires the --ssl-cert and --ssl-key options, and the client requires the --ssl-verify and --ssl-trustfile options. For information on OpenSSL, see the Using OpenSSL section in the Security Guide.
For more examples, see the ncat(1) man page.