如何使用 netcat 获取 udp 响应

如何使用 netcat 获取 udp 响应

我正在尝试做类似的事情:

echo "request" | nc -u 1.1.1.1 9999 > response.txt

tcpdump执行此行后,我可以看到响应来自服务器(带有)。

但是,我的 response.txt 仍然是空的。

有沒有方法可以得到它?

答案1

Netcat 通过指定 -u 命令行选项开始“对话”UDP(默认为 TCP)。以下是使用 UDP 连接到 RFC 867 时间服务器的示例。请注意,首先指定另一台主机的 IP 地址或 DNS 名称,然后指定端口号 - 就像大多数 telnet 程序一样。建立连接后您可能需要按 Enter 键来让时间服务器向您发送当前时间。(也许这是你的问题)

nc -u igor.alcpress.com 13

2005 年 9 月 15 日星期四 14:41:57

由于 UDP 不是面向连接的协议,因此连接将保持“打开”状态,直到您按 Ctrl-C 终止程序。

======================================================================

如果不重定向输出,它会回复吗?
尝试:echo "request" | nc -u 1.1.1.1 9999 | tee response.txt

相关内容