netcat
,简写为 nc
,是 unix
系统下一个强大的命令行网络通信工具,用于在两台主机之间建立 TCP
或者 UDP
连接,并提供丰富的命令进行数据通信。nc
在网络参考模型属于应用层。使用 nc
可以做很多事情:建立连接
,发送数据包
,监听端口
,扫描端口
,处理 ip4
和 ip6
,和 telnet
不同,nc
会区分错误输出和标准输出,telnet
则都是标准输出。
测试数据接收发送
使用 nc
可以非常简单的构建一个基本的客户端/服务端模型。
- 开启一个本地端口的监听:
1 | nc -l 1234 |
现在 nc
就在监听 1234
端口,此时任何发送到该端口的数据都将直接输出到控制台。
- 连接到指定端口
1 | nc 127.0.0.1 1234 |
现在在任意一个控制台输入内容,另一个控制台都会收到,nc
会自动发送到远端。
参考文档
使用 netcat 读写 TCP UDP 数据包