Netcat 或 nc 是一个命令行程序,它使用 TCP 或 UDP 协议通过网络连接读取和写入数据。
它是网络和系统管理员中最强大的工具之一,被视为网络工具的瑞士军刀。
Netcat 是一个跨平台工具,可用于 Linux,macOS,Windows 和 BSD。您可以使用Netcat 调试和监视网络连接,扫描打开的端口,传输数据,作为代理等等。
Netcat 软件包已预安装在 MacOS 和流行的 Linux 发行版,如 Ubuntu,Debian,CentOS,Fedora等。
Netcat 命令
Netcat 命令的基本语法形式是 nc [options] host port
。host
可以是远程主机的域名。主机名或者是IP地址。port
是端口, options
是 nc 命令的选项,可选参数。
在 Ubuntu,您可以终端运行命令 netcat
或 nc
。它们都是 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 连接并发送消息。如果您有任何疑问或意见,请在下面发表评论。