VNC RemoteDesktop
分享与记录
VncSharp 是用于.NET Framework的VNC 远程帧缓冲 (RFB) 协议的免费和开源 ( GPL ) 实现。 VNC(虚拟网络计算)是一种跨平台的客户端/服务器协议,允许通过网络控制远程系统。
VNC最初是在剑桥的 AT&T 实验室开发的,现在由英国的RealVNC开发。您可以从 RealVNC 的网站或许多其他并行开发项目下载 VNC 客户端和服务器。
VncSharp 是一个VNC 客户端库和自定义 Windows 窗体控件。VncSharp 也是免费软件,在GPL下发布。您可以自由地使用 VncSharp 将VNC功能捆绑到您自己的 .NET 应用程序中,只需将控件拖放到您的表单上即可。
https://cdot.senecacollege.ca/projects/vncsharp/index.html
下面转载网页解决方法:
noVNC实现浏览器远程访问Windows桌面
一、简介
1、VNC介绍
VNC (Virtual Network Console)是虚拟网络控制台的缩写。它 是一款优秀的远程控制工具软件。VNC 是在基于 UNIX 和 Linux 操作系统的免费的开源软件,远程控制能力强大,高效实用,其性能可以和 Windows 和MAC中的任何远程控制软件媲美。
VNC基本上是由两部分组成:一部分是客户端的应用程序(vnc viewer);另外一部分是服务器端的应用程序(vnc server)。VNC的基本运行原理和一些Windows下的远程控制软件很相像。VNC的服务器端应用程序在UNIX和Linux操作系统中适应性很强,图形界面十分友好。在任何安装了客户端的应用程序(vncviewer)的Linux平台的计算机都能十分方便地和安装了服务器端的应用程序(vncserver)的计算机相互连接。
2、noVNC介绍
noVNC提供一种在网页上通过html5的Canvas,访问机器上vncserver提供的vnc服务,需要做tcp到websocket的转化,才能在html5中显示出来。网页就是一个客户端,类似win下面的vncviewer,只是此时填的不是裸露的vnc服务的ip+port,而是由noVNC提供的websockets的代理,在noVNC代理服务器上要配置每个vnc服务,noVNC提供一个标识,去反向代理所配置的vnc服务。
noVNC 被普遍用在各大云计算、虚拟机控制面板中,比如 OpenStack Dashboard 和 OpenNebula Sunstone 都用的是 noVNC。
二、准备工作
1、远程目标主机:Windows Server 2008 r2(用vmare中虚拟机测试)
2、UltraVNC:http://www.uvnc.com/(Windows环境下的VNC Server,还有TightVNC、TigerVNC、RealVNC等,其中RealVNC不能通过noVNC)
3、Node.js:https://nodejs.org/en/download/(用于执行Websockify.js)
4、noVNC:http://github.com/kanaka/noVNC/zipball/master
5、Websockify:https://github.com/novnc/websockify/archive/master.zip
三、具体操作
0、目标主机Windows Server 2008 r2先要安装远程桌面服务
1、在远程主机中安装UltraVNC,并开启服务,设置密码
2、安装node.js
安装时选择npm package manager
node.js安装完成后,需要安装ws、optimist模块(执行websockify.js文件所需)
C:\Users\Administrator>npm install ws
C:\Users\Administrator>npm install optimist
C:\Users\Administrator>npm install mime-types
安装完ws和optimist后会在C:\Users\Administrator\下生成node_modules目录
3、把noVNC.zip解压到node_modules目录下,再把websockify-master.zip解压到noVNC目录下。
注:Windows Server 2008 r2需要设置防火墙端口例外
新建入站规则
4、执行websockify.js:转发9000端口的http链接到5900端口(UltraVNC Server的默认端口为5900)
C:\Users\Administrator\node_modules\noVNC\websockify-master\other\js>node websockify.js --web C:\Users\Administrator\node_modules\noVNC 9000 http://10.70.117.185:5900
(注:其中10.70.117.185为目标主机地址)
5、在浏览器地址栏输入http://10.70.117.185:9000/(服务器端IP:10.70.117.185)会提示:
这时候只要在websockify.js中搜索filename += '/index.html'改成filename += '/vnc.html',再重复第4、5步即可完成。
输入密码,成功登录Windows远程桌面