如何让 netcat 从任何主机接收 UDP 数据包?

如何让 netcat 从任何主机接收 UDP 数据包?

有没有办法netcat从任何 ip:port 接收 UDP 数据包?我不希望它在第一个数据包到达时绑定到特定主机。

我可以考虑替代方案,但它们必须是 bash 友好的(允许管道)。

答案1

如果您在 Linux 上执行此操作,则可以使用 REDIR 目标设置 iptables 规则。只需将所有 UDP 流量重定向到单个端口,然后使用 netcat 监听该端口即可。

答案2

如果没有 root 权限,您想要实现的目标是不可能的。

答案3

一些 nc版本,可以指定一个-k选项:

-k 强制 nc 在当前连接完成后继续监听另一个连接。如果未使用 -l 选项使用此选项,则会出现错误。 与 -u 选项一起使用时,服务器套接字未连接,并且可以接收来自多个主机的 UDP 数据报。

相关内容