Netcat 或 nc 是一个命令行程序,它使用 TCP 或 UDP 协议通过网络连接读取和写入数据。

它是网络和系统管理员中最强大的工具之一,被视为网络工具的瑞士军刀。

Netcat 是一个跨平台工具,可用于 Linux,macOS,Windows 和 BSD。您可以使用Netcat 调试和监视网络连接,扫描打开的端口,传输数据,作为代理等等。

Netcat 软件包已预安装在 MacOS 和流行的 Linux 发行版,如 Ubuntu,Debian,CentOS,Fedora等。

Netcat 命令

Netcat 命令的基本语法形式是  nc [options] host porthost 可以是远程主机的域名。主机名或者是IP地址。port 是端口, options 是 nc 命令的选项,可选参数。

在 Ubuntu,您可以终端运行命令 netcatnc 。它们都是 Netcat 的 OpenBSD 版本的符号链接

默认情况下,Netcat 将会尝试建立与指定主机的 TCP 连接。如果要建立 UDP 连接,请指定 nc 命令的 -u 选项。

nc host port #tcp
nc -u host port #udp

创建实时聊天

在两个或多个主机之间创建在线聊天的过程与传输文件时相同。但这并不意味着你也可以发送文件,因为不存在选择文件的接口。

首先在第一台主机运行命令 nc -l 5555 设置 Netcat 监听端口 5555 ,然后在第二台主机运行命令 nc first.host.com 5555 连接到第一台主机的 5555 端口。

这里的 first.host.com 是你运行命令 nc -l 5555 所在主机的域名,当然你可以指定IP或者主机名作为地址。

现在,如果您键入一条消息并按 ENTER,它将同时显示在两台主机上。要关闭连接,请键入 CTRL+C

nc -l 5555 
nc first.host.com 5555

结论

至此,你已经知道如何在 Linux 运行 nc 命令建立 TCP 连接并发送消息。如果您有任何疑问或意见,请在下面发表评论。