Sockets 是否可以使用第三方程序的ip/主机向客户端发送数据包?

Sockets 是否可以使用第三方程序的ip/主机向客户端发送数据包?,sockets,networking,tcp,ip,port,Sockets,Networking,Tcp,Ip,Port,我有一个简单的服务器客户端TCP/UDP套接字程序。我知道服务器将自己绑定到主机+端口,而连接的客户端通常会获得一个随机端口。让我们调用客户端端口 是否可以创建一个第三方程序,该程序可以使用客户端端口连接到客户端 我知道在这种情况下,识别数据包是一个问题,但从理论上讲,它应该可以工作,但我不知道如何工作 例: 服务器:123.456.789.159:80 运行在1.2.3.4上的客户端连接到服务器123.456.789.159:80,并获得一个端口:60789。现在服务器将数据发送到1.2.3.

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

是否可以创建一个第三方程序,该程序可以使用客户端端口连接到客户端

我知道在这种情况下,识别数据包是一个问题,但从理论上讲,它应该可以工作,但我不知道如何工作

例:

服务器:123.456.789.159:80 运行在1.2.3.4上的客户端连接到服务器123.456.789.159:80,并获得一个端口:60789。现在服务器将数据发送到1.2.3.4:60789 我在第三台机器上有一个第三方程序。它能否向发送至1.2.3.4:60789的客户端发送数据包?
任何语言中的任何示例都会有所帮助。

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


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

如果客户端有活动端口60789,并且客户端的操作系统正在侦听该端口上传入的TCP连接,这是可能的。。。如果您的第三方程序能够创建socketRemember,说明UDP是无连接的,这意味着您可以从任何地方向UDP客户端或服务器发送数据包。使用TCP是不可能的,除非你想欺骗数据包,这被认为是一件坏事。