前言

一般远程就直接用windows自带的,配置好动态IP花生壳,在任何地方都可以连回机子。最近项目里遇到这么个情况,需要快速接入远程控制功能,客户机的IP每次都会变,并且都是在外网,这样,就必须使用带有中转服务器的远程控制,网上查了一下有TightVNC和UltraVNC两个比较好的开源远程控制项目。

可惜TightVNC目前中转服务器端还在开发,下个版本可能才有。

所以果断选择使用UltraVNC!

介绍

VNC(Virtual Network Computing),为一种使用RFB协定的屏幕画面分享及远端操作软件。此软件借由网络,可传送键盘与鼠标的动作及即时的屏幕画面。

VNC与操作系统无关,因此可跨平台使用,例如可用Windows连线到某Linux的电脑,反之亦同。甚至在没有安装用户端程式的电脑中,只要有支援JAVA的浏览器,也可使用。

UltraVNC:加入了TightVNC的部份程式及加强效能的图型映射驱动程式,并结合Active Directory及NTLM的帐号密码认证,但仅有Windows版本

地址:http://www.uvnc.com/

UltraVNC包括客户端与服务端,请求协助的一方称为被协助方,或者(远程协助)服务端;响应的一方称这里命名被协助方为Cv,而协助方命名为Cs,中转服务器为Sr。为协助方,或者(远程协助)客户端,

Repeater为中转服务器Sr,当Server连接Viewer是,通过Sr相互转发数据。对Cs的监控端口为5500,Cv的监控端口为5900,当然5500、5900都是vnc的默认端口,这样会引起其他一些VNC软件的冲突,所以Cs和Cv监控端口都需要修改。

原理

一般连接模式包括两种

1) 协助用户Cv和请求协助用户Cs1在同一局域网内,这时Cv与Cs1可以直接通过IP地址进行TCP通信;

2) 协助用户Cv和请求协助用户Cs2不在同一局域网内,这时Cv与Cs2只能通过中转服务器相互转发数据进行通信。

其中2)中repeater包括两种模式,如图所示,第一种是repeater在内网,第二种是repeater在外网,我们主要介绍第二种。

官方文档也介绍的比较详细了,相关信息可以直接查看。

实现

统一下载地址:http://www.uvnc.com/downloads/ultravnc/111-download-ultravnc-1205.html

注意:实现过程中都使用默配置

1、找一台公网服务器安装运行repeater

2、在客户机安装UltraVNC,设置为windows服务,使其每次开机都启动。

3、配置客户机

输入:-id:54 -autoreconnect -connect 12.34.56.78

其中54改为你自己设置的机子编号,12.34.56.78改为repeater所在的地址,这样,每次启动都会运行命令,使用设置的id号连接repeater了。

当然也可以手动连接,右键托盘图标->add new client

4、使用客户端通过repeater直接连接服务端。

这样,就可以直接在(客户端)协助方自己通过设置好的id,访问(服务端)被协助方了,再也不用担心ip的问题。

但是这也有一个问题:

repeater其实也相当于一个服务端,只不过自动接受了客户端发过来的连接请求,当真正使用客户端通过repeater连接服务端的时候,其实就相当于通过repeater这个服务端回连客户端,这个过程就不需要登录密码,所以如果其他人知道了repeater的地址和ID号,那么也可以连接上客户端了,安全性有待提高!

自从用了TeamViewer,其他远程工具都是浮云……

最新文章

  1. 3dmax导出到blend或者vs中
  2. Visual Studio Code + live-server编辑和浏览HTML网页
  3. linux网络协议
  4. extjs grid
  5. Request.QueryString
  6. #BeginLibraryItem 的疑问...
  7. google 推荐 android 像素统一使用dip,字体统一使用sp
  8. GetMemory()函数
  9. poj 1990
  10. Slithice 分布式架构设计
  11. bzoj1087 [SCOI2005]互不侵犯
  12. day049--jQuery文档操作示例
  13. 在Scrapy中使用selenium
  14. 《Inside C#》笔记(十三) 多线程 下
  15. cf1020c 瞎搞
  16. OpenCV操作像素
  17. 【BOM】浏览器对象模型
  18. e821. 设置JScrollPane滚动栏
  19. [ASP.NET]关于DOT NET的IIS配置LocalHost访问和127.0.0.1访问的区别
  20. 索引&切片 切割split

热门文章

  1. UML交互图(转载)
  2. ios中webservice报文的拼接
  3. javascript设计模式--中介者模式(Mediator)
  4. 苹果开发——App内购以及验证store的收据(二)
  5. LCT小结
  6. C# TryXXXX模式
  7. 修改DevExpress中英文提示,将英文改为中文
  8. java 如何连接MySql数据库
  9. GridControl的列显示成图片+文字,并且不同的文字对应不同的图片
  10. C Primer Plus之存储类、链接和内存管理