在 Kevin Fall 和 Richard Stevens 合著的《TCP/IP Illustrated, Volume 1》一书中,许多示例都使用名为“sock”的实用程序,该程序可以执行各种与 TCP/IP 相关的事情,例如,它可以充当 UDP 服务器,也可以向此类服务器发送 UDP 数据报。我想按照他们在书中描述的方式测试一些基本的东西,例如在一台计算机上启动 UDP 服务器,并从另一台计算机向其发送 UDP 数据报。
为了说明我正在寻找的实用程序类型,根据书中所述,sock 程序可以像这样用于在端口 7777 上启动 IPv4 UDP 服务器:
sock -u -s 7777
并像这样发送一些具有给定目标 IP 地址的 UDP 数据报:
sock -v -u -i 10.0.0.3 discard
该“sock”程序的源代码可在以下位置找到:https://www.icir.org/christian/sock.html这很棒,但我仍然想知道:是否有一些我可以安装的 Ubuntu 软件包(或默认情况下已经可用)可以为 UDP 和 TCP 提供类似的简单实用程序?
编辑:除了下面答案中建议的 nc (netcat)工具之外,我刚刚了解到使用 bash 可以非常轻松地发送 UDP 数据报,如下所示:
echo "hello" > /dev/udp/example.com/8000
答案1
Netcat 是一款出色的 Linux 工具,可用于在 LAN/WAN 中进行网络去杂和原始数据传输。
它还允许您发送整个文件,甚至结合更高级别的协议。
这里有两个关于 netcat 基础知识的很好的指南:如何使用 Netcat 在 VPS 上建立和测试 TCP 和 UDP 连接 ,Netcat(nc)命令及其示例。