如果我使用远程桌面登录到远程计算机,此连接的数据如何返回到我的计算机?

如果我使用远程桌面登录到远程计算机,此连接的数据如何返回到我的计算机?

如果我使用远程桌面登录到远程计算机,如果我没有在路由器上打开任何端口,那么此连接的数据如何返回到我的计算机?

答案1

任何数据返回到您的计算机的方式都是一样的。

您的路由器几乎肯定运行着状态防火墙和 NAT。这意味着它会跟踪您通过它建立的连接。

RDP 与 HTTP 和许多其他协议一样,使用流套接字。因此,如果您建立 RDP 连接,RDP 客户端将在您的客户端上打开一个端口,然后连接到远程机器,您的连接可能具有如下详细信息。

Source Address: 192.168.12.21
Source Port: 59034
Destination Address: 8.8.8.8
Destination Port: 3389

当初始数据包通过防火墙时,状态表将添加一个条目,该条目至少包含这些详细信息。如果您正在运行 NAT,则会存储一些其他信息,其中包括源端口已转换到哪个端口。如果您尝试连接的主机接受您的请求,它将响应数据包中的源地址/端口。您的路由器将允许传入数据包,因为它在状态表中有一个条目。

也可以看看:

答案2

如果您没有打开任何端口,它就无法通过,其他任何端口也不应该打开。您需要打开端口 3389 才能建立远程桌面连接。

答案3

但事实并非如此。

但如果您的路由器使用NAT(或者更具体地说(又称 NAPT),会为您打开一个端口。您的路由器有一个状态表,用于跟踪传入端口、目标主机和目标端口;端口上的流量X将转发到Y主机上的端口Z

没有 NAPT 的连接将Y在主机端口Z和远程服务器端口 3389(用于 RDP)之间进行;使用 NAPT 的连接最终将在X路由器端口和远程服务器端口 3389 之间进行。


哎呀,我完全忘记了远程主机在状态表中......

相关内容