即使我的电脑在防火墙后面且防火墙未配置,TeamViewer如何找到我的电脑?

15

你用过TeamViewer吗?(这是个幽默问题...谁没用过呢?)

你知道TeamViewer是如何在我处于路由器、防火墙、交换机和本地防火墙后时建立连接的吗?

我试图想象一种连接,它连接着远程机器和我的电脑。远程机器将数据包(以及它的头部信息,例如目标IP地址、消息正文)发送给我,但它只知道我的ID号码(由本地TeamViewer应用程序提供)。

即使有Juniper防火墙(还有我的Windows防火墙),这些数据包仍然能够到达我的电脑。

电脑会接收到哪些类型的消息体呢?(当然不是像XML、文本、HTML、Excel那样的格式)

你了解吗?

附注:请像向初学者一样解释你的知识。

1个回答

17

这个软件正在与中央服务器通信,并建立了一个出站连接。当你启动TeamViewer时,它会尝试建立直接连接,但如果两个方向都失败(即,两个位置都有防火墙或进行了NAT),则它将退而求其次,通过服务器通信。

基本上,这与大多数在线游戏使用的方法相同。一端的更改被发送到中央服务器,然后被转发回其他连接的计算机。


如何轻松地通过防火墙,即使它们正在检查数据包的内容和端口? - uzay95
@uzay95:我不明白你在评论中的意思,但我会尝试进一步阐述评论者已经清楚解释的答案。由于TeamViewer已经建立了与主服务器的出站连接(防火墙默认允许出站连接),如果想要与你通话的计算机无法连接,那么它将通过现有的主服务器连接隧道传输其数据。因此,你完全绕过了防火墙(虽然可能会损失一些速度)。 - Saul
2
还有一种技术叫做UDP打洞(http://en.wikipedia.org/wiki/UDP_hole_punching),可以在很少涉及中央服务器的情况下完成这项工作。 - Hubert Kario
即使在正常情况下,TeamViewer 是否需要服务器来在两台计算机之间建立联系? - Muhammad Umer
1
是的,TeamViewer绝对需要服务器,它不能仅使用IP地址连接。 - Lasse V. Karlsen
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接