1.7. 使用 ncat 工具管理数据
ncat 网络实用程序取代了红帽企业 Linux 7 中的 netcat。ncat 是可靠的后端工具,可向其他应用和用户提供网络连接。它从命令行在网络上读取和写入数据,并使用传输控制协议(TCP)、用户数据报协议(UDP)、流控制传输协议(SCTP)或 Unix 套接字进行通信。ncat 可以处理
IPv4
和 IPv6
、打开连接、发送数据包、执行端口扫描,并支持更高级别的功能,如 SSL
和连接代理。
也可使用相同的选项,以 ncat 身份输入 Thenc 命令。有关 ncat 选项的详情,请查看 迁移规划指南和 ncat(1) man page 中的 New networking 工具(ncat)部分 。
安装 ncat
要安装 ncat 软件包,以
root
用户身份输入:
~]# yum install ncat
ncat 用例的简短选择
例 1.1. 启用客户端和服务器之间的通信
- 将客户端机器设置为侦听 TCP 端口 8080 上的连接:
~]$ ncat -l 8080
- 在服务器机器中指定客户端的 IP 地址并使用相同的端口号:
~]$ ncat 10.0.11.60 8080
您可以在连接两侧发送消息,它们会显示在本地和远程计算机上。 - 按
Ctrl+D
关闭 TCP 连接。
注意
要检查 UDP 端口,请使用带有
-u
选项的相同 nc 命令。例如:
~]$ ncat -u -l 8080
例 1.2. 发送文件
您可以将所有信息发送到文件,而不是在屏幕上打印信息,如上例中所述。例如,要通过 TCP 端口 8080 将文件从客户端发送到服务器:
- 在客户端机器上侦听将文件传输到服务器机器的特定端口:
~]$ ncat -l 8080 > outputfile
- 在服务器机器上,指定客户端的 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。