我有一个 TCP 服务器,只允许几个客户端连接到它。然而,数据传输纯粹是单向的——服务器将所有数据发送给客户端,客户端几乎没有数据返回服务器。有没有办法使用 iptables 或防火墙将离开服务器到客户端的 TCP 流重定向到另一个 TCP 客户端?
最佳答案
您可以设计一个粗略的数据包嗅探方案来执行此操作,但第二个客户端不能是标准的 tcp 客户端。
没有单向 TCP 连接这样的东西。有效负载——应用程序数据传输——可能是单向的,但 TCP 本身是双向的、确认的协议(protocol),状态在两端维护并由控制消息或数据消息上搭载的控制信息更新。状态也由超时更新——未能在指定时间内接收到控制数据包。
TCP 将在 9 月满 30 岁。这是 RFC,由 Jon Postel of blessed memory 编写。参见 http://www.ietf.org/rfc/rfc793.txt
协议(protocol)实体在每一端的状态图如图 6 所示。
关于linux - 将 TCP 流重定向到另一个客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6393362/