文档库 最新最全的文档下载
当前位置:文档库 › QQ远程协助原理和VNC原理

QQ远程协助原理和VNC原理

QQ远程协助原理和VNC原理
QQ远程协助原理和VNC原理

QQ远程协助原理

让位于NAT后的两台主机都与处于公共地址空间的、众所周知的第三台服务器相连,然后,一旦NAT设备建立好UDP状态信息就转为直接通信,并寄希望于NAT设备会在分组其实是从另外一个主机传送过来的情况下仍然保持当前状态。

这项技术需要一个完全圆锥型NA T设备才能够正常工作。受限圆锥型NAT和对称型NAT 都不能使用这项技术。

这项技术在P2P软件和V oIP电话领域被广泛采用。它是Skype用以绕过防火墙和NAT设备的技术之一。

假设有两台分别处于各自的私有网络中的主机:A和B;N1和N2是两个NAT设备;S是一个使用了一个众所周知的、从全球任何地方都能访问得到的IP地址的公共服务器

步骤一:A和B分别和S建立UDP连接;NA T设备N1和N2创建UDP转换状态并分配临时的外部端口号

步骤二:S将这些端口号传回A和B

步骤三:A和B通过转换好的端口直接联系到对方的NA T设备;NA T设备则利用先前创建的转换状态将分组发往A和B

猜测:

简单来说,就是截图加鼠标键盘模拟,这些函数Windows的API函数都有,应该是TCP

截图(压缩)->发送->客户接收(解压显示)->返回鼠标在截图上对应的位置和动作、键盘动作->在被控端用API函数模拟鼠标键盘相对应行为

TCP,UDP都可以打洞的,不过一般来说,像这种多媒体传输,UDP是比较常用的

楼主所说的“没有独立的ip地址” ,我解释一下,NAT(网络地址映射)

路由器都有这功能,它把内网机器的IP:端口,映射成外网的IP:端口。

但外网想通过路由访问内网的机器,路由是不同意的,这就要用到内网穿透,就是楼上各位说的“打洞”

TCP 和UDP 都可以打洞的,不过TCP比较麻烦

VNC原理

很早就有这个了vnc,VNC(Virtual Network Computing,虚拟网络计算)最早是一套由英国剑桥大学ATT实验室在2002年开发的轻量型的远程控制计算机软件,其采用了GPL 授

权条款,任何人都可免费取得该软件。VNC软件主要由两个部分组成:VNC server及VNC viewer。用户需先将VNC server安装在被控端的计算机上后,才能在主控端执行VNC viewer 控制被控端。

VNC server 与VNC viewer 支持多种操作系统,如windows,Linux,MacOS 及Unix 系列(Unix,Solaris等),因此可将VNC server 及VNC viewer 分别安装在不同的操作系统中进行控制。RealVNC 的优越性还在于如果操作系统的主控端计算机没有安装VNC viewer,也可以通过一般的网络浏览器(如IE 等)来控制被控端(需要Java 虚拟机的支持)。

整个VNC 一般运行的工作流程如下:

(1)VNC 客户端通过浏览器或VNC Viewer 连接至VNC Server。

(2)VNC Server 传送一对话窗口至客户端,要求输入连接密码(可能为空),以及存取的VNC Server 显示装置。

(3)在客户端输入连接密码后,VNC Server 验证客户端是否具有存取权限。

(4)若是客户端通过VNC Server 的验证,客户端即要求VNC Server 显示桌面环境。

(5)被控端将画面显示控制权交由VNC Server 负责。

(6)VNC Server 将把被控端的桌面环境利用VNC 通信协议送至客户端,并且允许客户端控制VNC Server 的桌面环境及输入装置。

相关文档