如果使用Windows RDP或Remmina,则通常使用服务器的IP(公共)或附加主机名登录。我想知道像Team Viewer这样的远程程序如何工作?而且,程序如何知道如何通过Internet路由该流量?
如果使用Windows RDP或Remmina,则通常使用服务器的IP(公共)或附加主机名登录。我想知道像Team Viewer这样的远程程序如何工作?而且,程序如何知道如何通过Internet路由该流量?
Answers:
TeamViewer,LogMeIn和允许zero config
远程桌面会话的任何其他程序都使用第三方服务器。
例如,LogMeIn是类似于TeamViewer的程序,您可以在其中远程登录到当前所在网络之外的计算机。您会注意到,这种远程会话不需要任何外部配置。这是由于以下事实:您在远程计算机(LogMeIn客户端)上安装的软件向LogMeIn服务器发起了传出请求。由于此客户端发起了请求,因此不需要防火墙上的端口转发。
在您的计算机上,在LogMeIn计算机网络之外,可以通过LogMeIn的网站远程访问此计算机。该网站接受来自远程计算机的初始化请求,并保持连接活动以侦听远程会话请求。
运行TeamViewer时,会在其代理服务器上为其分配一个ID。您与Teamviewer ID建立连接,然后TeamViewer通过TeamViewer客户端建立的隧道将连接向下传递到目的地,然后提示您输入密码,然后建立连接。
Teamviewer使用端口80建立与中央服务器的连接。如果建立连接,您将获得一个唯一的ID,并且服务器知道您在线。如果其他端口被阻塞,则所有通信都可以通过端口80进行。
Teamviewer确实允许您直接连接到IP地址。您必须在选项中进行设置,以允许传入的LAN连接。这适用于本地网络,也可能适用于WAN网络,但是随后必须进行端口转发,才能获得端口80以连接到路由器/防火墙后面的正确计算机。这使大多数人感到困难,而其余大多数人则难以管理,因此我们使用了Teamviewer ID方法。
我不知道这是否意味着所有流量都通过Teamviewer服务器进行传输,但是可能如此。(由于它记录了所有单击和按键,因此,从理论上讲,这可能意味着它们可以-而且由于我们实际上也了解PRISM等-知道所有您的登录名和密钥。)
这就是该公司在其安全声明中所说的:
建立会话时,TeamViewer确定最佳的连接类型。通过我们的主服务器握手后,在所有情况下的70%(甚至在标准网关,NAT和防火墙之后)都建立了通过UDP或TCP的直接连接。其余的连接通过TCP或https-tunnelling通过我们的高度冗余的路由器网络进行路由。您无需打开任何端口即可使用TeamViewer!
如稍后在“加密和认证”段落中所述,甚至我们作为路由服务器的操作员也无法读取加密的数据流量。
所以: