我想要一个 UDP 回显服务器来获取数据包,并准确回复收到的内容。如何使用netcat
或简单地做到这一点socat
?它应该永远保持活动状态并处理来自多个主机的数据包。
答案1
另一个类似 netcat 的工具是 nmap 版本,ncat
它有很多内置功能可以简化此类操作。这将有效:
ncat -e /bin/cat -k -u -l 1235
-e 表示执行 /bin/cat(回显您输入的内容)
-k 表示保持活动状态,即每次连接后都保持监听
-u 表示 udp
-l 1235 表示在 1235 端口上监听
答案2
我曾经socat -v PIPE udp-recvfrom:5553,fork
运行服务器和socat - udp:localhost:5553
客户端。
这很有帮助!
答案3
您还可以使用 socat(而不是使用 netcat)作为回显服务器,并使用 netcat 作为客户端。
Socat 回显服务器(监听 TCP 端口 1234):
socat -v tcp-l:1234,fork exec:'/bin/cat'
Netcat 客户端(连接到 TCP 端口 1234 上的 serverip):
nc serverip 1234