Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

1.7. 使用 ncat 工具管理数据

ncat 网络实用程序取代了红帽企业 Linux 7 中的 netcatncat 是可靠的后端工具,可向其他应用和用户提供网络连接。它从命令行在网络上读取和写入数据,并使用传输控制协议(TCP)、用户数据报协议(UDP)、流控制传输协议(SCTP)或 Unix 套接字进行通信。ncat 可以处理 IPv4IPv6、打开连接、发送数据包、执行端口扫描,并支持更高级别的功能,如 SSL 和连接代理。
也可使用相同的选项,以 ncat 身份输入 Thenc 命令。有关 ncat 选项的详情,请查看 迁移规划指南和 ncat(1) man page 中的 New networking 工具(ncat)部分

安装 ncat

要安装 ncat 软件包,以 root 用户身份输入:
~]# yum install ncat

ncat 用例的简短选择

例 1.1. 启用客户端和服务器之间的通信

  1. 将客户端机器设置为侦听 TCP 端口 8080 上的连接:
    ~]$ ncat -l 8080
  2. 在服务器机器中指定客户端的 IP 地址并使用相同的端口号:
    ~]$ ncat 10.0.11.60 8080
    您可以在连接两侧发送消息,它们会显示在本地和远程计算机上。
  3. Ctrl+D 关闭 TCP 连接。
注意
要检查 UDP 端口,请使用带有 -u 选项的相同 nc 命令。例如:
~]$ ncat -u -l 8080

例 1.2. 发送文件

您可以将所有信息发送到文件,而不是在屏幕上打印信息,如上例中所述。例如,要通过 TCP 端口 8080 将文件从客户端发送到服务器:
  1. 在客户端机器上侦听将文件传输到服务器机器的特定端口:
    ~]$  ncat -l 8080 > outputfile
  2. 在服务器机器上,指定客户端的 IP 地址、要传输的端口和文件:
    ~]$  ncat -l 10.0.11.60 8080 < inputfile
文件传输后,连接会自动关闭。
注意
您还可以在另一个方向传输文件:
~]$  ncat -l 8080 < inputfile
~]$  ncat -l 10.0.11.60 8080 > outputfile

例 1.3. 创建 HTTP 代理服务器

在 localhost 端口 8080 中创建 HTTP 代理服务器:
~]$  ncat -l --proxy-type http localhost 8080 

例 1.4. 端口扫描

要查看哪些端口是开放的,请使用 -z 选项并指定要扫描的端口范围:
~]$  ncat -z 10.0.11.60 80-90
    Connection to 192.168.0.1 80 port [tcp/http] succeeded!

例 1.5. 使用 SSL 设置安全客户端-服务器通信

在服务器中设置 SSL
~]$ ncat -e /bin/bash -k -l 8080 --ssl
在客户端机器上:
~]$ ncat --ssl 10.0.11.60 8080 
注意
为确保 SSL 连接的真正机密性,服务器需要 --ssl-cert--ssl-key 选项,客户端需要 --ssl-verify--ssl-trustfile 选项。有关 OpenSSL 的详情,请参考安全指南中的使用 OpenSSL 部分
更多示例请查看 ncat(1) man page。