是否可以使用来自第三方程序的ip / host创建发送数据包到客户端?

时间:2017-10-11 07:36:18

标签: sockets networking tcp ip port

我有一个简单的服务器客户端(TCP / UDP套接字)程序。我知道服务器将自己绑定到主机+端口,连接客户端获得(通常是随机的)端口。我们叫客户端端口。

是否可以创建可以使用其客户端端口连接到客户端的第三方程序。

(我知道在这种情况下识别数据包存在问题,但理论上似乎应该有效,但我不知道如何。)

例:

  1. 服务器:123.456.789.159:80
  2. 运行在1.2.3.4上的客户端连接到服务器(123.456.789.159:80)并得到一个端口:60789。(现在服务器将数据发送到1.2.3.4:60789)
  3. 我在第三台机器上有第三方程序。它可以将数据包发送到发送到1.2.3.4:60789的客户端吗?
  4. 任何语言的任何例子也会有所帮助。

1 个答案:

答案 0 :(得分:1)

您无法“重复使用”客户端的TCP端口。您必须建立到客户端的套接字连接,这在端口未侦听时是不可能的。伪造的TCP数据段将因为不属于活动套接字而被删除。

使用UDP,这是可能的,因为没有连接握手,UDP套接字只有几个状态。