远程控制软件VNC教程和对内网机器控制的实现
VNC(Virtual Network Computing)最早是一套由AT&T实验室所开发的可操控远程的计算机的软件,其采用了GPL授权条款,任何人都可免费取得该软件。VNC软件主要由两个部分组成:VNC server及VNC viewer。用户需先将VNC server安装在被控端的计算机上后,才能在主控端执行VNC viewer控制被控端。
(在windows中也由一套著名的网络遥控软件――Symantec公司推出的pcAnywhere。
VNC server与VNC viewer支持多种操作系统,如Unix系列(Unix,Linux,Solaris等),windows及MacOS,因此可将VNC server 及VNC viewer分别安装在不同的操作系统中进行控制。如果目前操作的主控端计算机没有安装VNC viewer,也可以通过一般的网页浏览器来控制被控端。
整个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的桌面环境及输入装置。
这里我们使用VNC的升级版,Ultravnc 来说明问题:
软件名称: UltraVNC v1.0.10 简繁中文版
软件语言: 多国语言
软件类型: 精品软件 / 远程管理
授权方式: 免费软件
运行环境: Win2003, WinXP, Win2000, WinNT, WinME, Win9X
软件大小: 829 KB (849,240 字节)
UltraVNC 是客户端/服务器软件,允许你经由 TCP/IP 连线,控制远端的电脑。这个版本的开发以 RealVNC 为基础,加上了 TightVNC 的鼠标控制与编码,以及在 eSVNC 和 Vdacc-VNC 找到的特殊功能,以及更多。它是自由软件,可在 GNU General Public License 的条款下散布。
与 VNC 各版本不同的地方,还有:
1.自动组态/快速选项。
2.「工具列」显示,让你快速存取。无论是早期的 winvnc 或是后来的 RealVNC 都缺少这个东西。
3.内建「图形介面」的「文件传送」功能。允许在客户端和服务器之间,做简易的文件复制。
4.提供 Windows 2000 / XP 高速的「视讯挂钩驱动程序」 (核心模式) ,成功地改进效能,并降低网路连线时的 CPU 活动量。速度简直就是超快。只是「视讯挂钩驱动程序」并非 GPL 方式散布,但仍然是免费的就是了
下载
[url]http://www.sron.net/SoftView/SoftView_1266.html[/url] [转载的时候这个连接失效了.]
[url]http://www.ttdown.com/SoftView/SoftView_16713.html[/url] [我自己找的下载地址.可以正常下载.]
我采用两台机器来作示范,一台Win98(客户端即控制端) IP:192.168.0.5。一台WinXP SP1中文版(服务端 即被控端),IP:192.168.0.8
一、安装
Win98(客户端 即控制端),IP:192.168.0.5 和 WinXP SP1中文版(服务端 即被控端) ,IP:192.168.0.8 基本都如下安装(小有不同)
OK [chinses(simplified) ]-下一步-我同意-下一步[中文(简体) 安装类型]-安装-完成

注:其实,作为控制端(WinXP SP1中文版(服务端 即被控端) ,IP:192.168.0.8)没有必要运行VNC server 的(安装了VNC viewer 查看器就可或者干脆用IE就好),上面的Run as service 可以不选
想要安装视频挂钩驱动程序(Video Hook Driver)吗?这将大大的增加VNC"服务器端"的屏幕速度。注意:安装时会弹出数字签章警告,但请直接安装即可。单击 [是 ]继续安装。
这个大家看着办,装了确实对CPU占用和显示速度有好处。
此时右下角出现

二、服务端设置
WinXP SP1中文版(服务端 即被控端) ,IP:192.168.0.8双击


"接受套接字连接"一定选上,这是连接你的系统的进入密码,最重要的一道防线,在有的操作系统里面第一次修改密码VNC不会记住,起机之后告诉你没有密码,让你"确定",再次设置密码,才生效,我建议大家都起机重新设置一次,保证密码生效。
我这里设置密码:88888888
设置完毕"确定"
三、控制端连接
Win98(客户端 即控制端),IP:192.168.0.5
控制就简单了,在Win98(客户端 即控制端)的UltraVNC程序组里面运行"VNC 查看器",输入IP:192.168.0.8 (此时保证192.168.0.8上VNC server正在运行,系统VNC服务是开启的,右下有VNC图标)

点"连接",会出现要求输入密码的提示,输入:8888888,立刻出现了192.168.0.8的屏幕

这样一个简单的控制就完成了。
图二中的"显示号码和端口"的解释是这样的,VNC可以采取5800端口http协议来控制,就是说客户端 (控制端)不采用"VNC 查看器"也可以用支持Java的浏览器来管理,在地址栏输入:[url]http://192.168.0.8:5800[/url] 回车,输入密码控制(http必须加),此时"VNC 查看器"只要连接192.168.0.8就可以(此时"显示 号码"里面实际为0),这里如果在服务端(即被控端)不选"自动",修改"显示 号码"为1,那么连接端口实际变成5801,IE要用[url]http://192.168.0.8:5801[/url] 来连接,"VNC 查看器"用"192.168.0.8:1"来连接我测试了下,"显示 号码"如果大于100,只能IE控制,。"VNC 查看器"反而不行。呵呵,不知什么原因?
DSM插件是为了连接加密用的,要用的话两端都要启用,保证数据安全,一般用BlankPlugin.dsm就可以

关于对控制内网机器的讨论(不通过网关)
由于我们条件有限,很难控制网关作端口映射,看下面
拓朴图:
(Firewall)
PC A -------------------外网IP服务器(网关)-------------PC B (内网)
分析:因为Firewall不受控制,所以从外网IP服务器或想控制PC A的话, PC A连接外网IP服务器(网关)的请求因为没有端口映射,所以根本不会转到PC B,连接只会失败。所以. 我们必须转换思路,让PC B发请求,PC A接到PC B的请求后开放端口N,告诉PC B你可以连接我了,PC B是可以直接连接PC A的N端口的,数据连接建立。那句怎么说来着,堡垒最容易被从内部攻破…..
具体方法就是:
1,在客户端(控制端) PCA,运行"VNC 查看器侦听模式",让VNC守株待兔
2,在服务端(被控端) PC B运行 "VNC 服务器",启动WinVNC.exe,下面要右键点击右下VNC图标,选择第二项"填加新客户端"

然后输入客户端(控制端)的公网IP(动态域名也可)

等一会儿,就连接上公网的控制机了。这种方法要求必须有一方有公网IP,不能两个都是内网,如果认真讨论其实是要求服务端(被控端)能够通过手段连接上控制机。
如果我们在单位控制自己家里在局域网的机器,不能本人在家里发请求怎么办?也好办,用计划任务或者一些工具软件来用命令行方式发起连接,客户端使用侦听方式,若客户端没有固定IP我们也可申请动态域名。比如服务端设置成每三分钟发起一次连接
请单击"开始",依次指向"所有程序"、"附件"、"系统工具",然后单击"任务计划"加完vnc之后双击任务修改命令行为
C:\winsock\winvnc\WinVNC.exe -connect 202.98.0.56:display

日程设置为在每天,固定时间每三分钟发起一次连接,每次连3小时(这些都是看自己情况定了),注意加计划任务一定要输入密码

值得注意的是连接上如果不中断计划任务,会出现多个控制窗口,所以一般连上立刻去删除VNC的计划任务。
如果多个人想控制一台服务器,也需要反向连接,否则按照一般办法,谁最后发控制命令,VNC server 会断开之前的连接,始终只有最后一个与服务器进行成功连接的客户端!除非反向连接。
有的的人会问?两个都是内网没有办法吗?也不是那么绝对没办法的
软件名称:视高即时通
版 本 1.10 简体中文版
版权所有 软件发行商
软件平台 Win9X WinNT Win2000 WinME WinXP
QQMessenger V1.10 For Win9x/Me
[url]http://www.sron.net/SoftView/SoftView_582.html[/url]
QQMessenger V1.10 For WinNT/2000/XP
[url]http://www.sron.net/SoftView/SoftView_581.html[/url]
QQMessenger是专门针对网上用户设计的即时多媒体通信系统,该系统在特有的防火墙穿透技术基础上,集即时通信和多媒体视讯会议的优势为一体,实现了即时发送、接收消息,跨防火墙传输文件,以及点对点和多点的语音、视频通讯等功能。有了QQMessenger即时多媒体通讯系统,您可以和朋友进行实时多媒体交流,传送即时信息、文件更加迅捷,还有丰富的表情图标,如果嫌打字不过瘾,那就来免费语音、视频聊天,马上就可以听到对方的声音,看到对方的影像!
这个软件自己广告做的不错,在一些情况(但是绝对不是全部)确实实现了,内网控制内网的机器
在客户端(即控制端)和服务端(即被控端) ,各装一个即时通
下载分别注册个用户号码:

工具/查照添加联系人,相互加为联系人
在服务端(即被控端) 双击客户端(即控制端)的号码,打开对话框
设置-自动接受此用户-计算机远程控制请求选上

这样家里机器就设置好了,以后要控制在单位运行即时通,找到自己家里的号码,双击打开对话框,运行-操作-启动计算机远程控制 就可以联系上自己的机器,如果你符合下面的条件,呵呵。
注:QQMESSENGER只要优势是穿透网关,如果网关上另带了防火墙,就需要把防火墙的UDP通道打开,否则无法实现穿透;另外如果用的是HTTP或者SOCKS4代理,也无法实现穿透,SOCKS5以及NAT是支持的。我成功的次数不多……
FAQ:
1,有没有其他远程控制内网机器其他的办法?
肯定有,比如能控制网关的话,可以在网关作端口映射(我没条件);×××方案,必须有自己的外网服务器;还有利用支持内网的动态域名+远程控制软件肯定也可以,比如TrueHost+radmin 但是记住支持内网的动态域名这是收费的(所以我没有考虑这方法,类似还有WebMyPC 和Gotomypc收费解决方案);还有就是利用支持端口反弹的***了(安全差,我也没考虑),比如网络神偷(需要一块主页空间)灰鸽子、台湾peep
2,利用VNC控制有没有更好的办法?在我需要的时侯再打开VNC服务?(没有端口映射)
其实,问题就是一句话,怎么在公网激活内网的机器?解决思路我认为必须有即时通信才行(否则没办法公网激活内网机器),比如ICQ或者MSN,夜行人推荐过一个Miranda+RemoteXplugin远程运行程序的方法,我感觉应该是可行的,他打开了Softether的vcard服务,我们可以利用它打开VNC
3,VNC+支持内网的动态域名可不可以实现内网控制内网?
就是在反向连接的时侯,"然后输入客户端(控制端)的公网IP(动态域名也可)",我输入一个内网动态域名可否?虽然我认为理论应该可以,不过条件限制(我的机器都是公网IP),我没有试验。大家有兴趣可以来试验,告诉我结果,我好修正。
转载于:https://blog.51cto.com/baifei/110413
相关文章:

GRUB2相关概念
GNU GRUB,简称“GRUB”,是一个来自GNU项目的启动引导程序。GRUB是多启动规范的实现,它允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统。GRUB可用于选择操作系统分区上的不同内核,…
朴素、Select、Poll和Epoll网络编程模型实现和分析——朴素模型
做Linux网络开发,一般绕不开标题中几种网络编程模型。网上已有很多写的不错的分析文章,它们的基本论点是差不多的。但是我觉得他们讲的还不够详细,在一些关键论点上缺乏数据支持。所以我决定好好研究这几个模型。(转载请指明出于b…
支付宝账单出来后,除了总消费,你看到你的学习支出了吗?
当支付宝的2019年年度账单出来的时候很多人的第一反应就是我怎么花了这么多钱不少人都有这样的困惑忙忙碌碌一年到头,到底得到了什么?而这一切又和自己最开始的规划一样吗?其实从账单上可以看出你在2019年花费了哪些大头居家生活、穿衣打扮还…

体验Windows 7的Superbar
随着PDC 2008上Windows 7 M3 6801的发布,这个微软的下一代操作系统也渐渐浮出了水面。对于我们这些普通的PC用户而言,Windows 7相对于Windows Vista最显而易见的改变,无疑就是著名的Superbar任务栏了。说起它相比于原来的任务栏变化ÿ…

Linux 安装图形界面及远程连接
#可查询哪些组件是否已经安装(可用来对照组件名称) yum grouplistyum groupinstall X Window System -y #安装GNOME桌面环境 yum groupinstall GNOME Desktop Environment -y #安装KDE桌面环境 yum groupinstall KDE (K Desktop Environment)卸载 卸载GNOME桌面环境…
朴素、Select、Poll和Epoll网络编程模型实现和分析——Select模型
在《朴素、Select、Poll和Epoll网络编程模型实现和分析——朴素模型》中我们分析了朴素模型的一个缺陷——一次只能处理一个连接。本文介绍的Select模型则可以解决这个问题。(转载请指明出于breaksoftware的csdn博客) 和朴素模型一样,我们首先…
微软开源NAS算法Petridish,提高神经网络迁移能力
作者 | Jesus Rodriguez译者 | Rachel编辑 | 夕颜出品 | AI科技大本营(ID:rgznai100) 【导读】神经架构搜索(Neural architecture search, NAS)是深度学习中最热门的趋势之一。NAS方法针对特定问题和数据…

[转]g++ 编译多个相关文件
三个文件,一个头文件,两个程序文件 /*d.h */#include <iostream>usingnamespacestd; classDataset { public: intgetdata(); }; /*d.cpp */#include "d.h"intDataset::getdata() { return1231; } /*out.cpp */#include <ios…

POJ--2391--Ombrophobic Bovines【分割点+Floyd+Dinic优化+二分法答案】最大网络流量
联系:http://poj.org/problem?id2391 题意:有f个草场,每一个草场当前有一定数目的牛在吃草,下雨时它能够让一定数量的牛在这里避雨,f个草场间有m条路连接,每头牛通过一条路从一点到还有一点有一定的时间花…
25年了,我总结出这些信息提取的经验教训
作者 | Ehud Reiter译者 | 夕颜出品 | AI科技大本营(ID:rgznai100)【导读】近日,本文作者阿伯丁大学计算科学系教授 Ehud Reiter 及其带领的阅读小组读了一篇让他们印象深刻的论文——由 Ralph Grishman 发表的《信息提取 25 年》(…
朴素、Select、Poll和Epoll网络编程模型实现和分析——Poll模型
在《朴素、Select、Poll和Epoll网络编程模型实现和分析——Select模型》中,我们分析了它只能支持1024个连接同时处理的原因。但是在有些需要同时处理更多连接的情况下,1024个连接往往是不够的,也就是不能够高并发。那么这个时候我们就可以采用…

flashcom中远程共享对象SharedObject的用法
觉得这篇文章比较好,转载回来。学习fcs也有差不多一个月了,感觉最有特色的东西还是SharedObject.SharedObject有不少东西,本地操作就不说了(相信很多人没接触fcs也用过);就说说远程共享对象吧.基本的应用流程是:my_nc new NetConnection(); my_nc.connect("rt…

Hive-1.2.0学习笔记(一)安装配置
鲁春利的工作笔记,好记性不如烂笔头下载hive:http://hive.apache.org/index.htmlHive是基于Hadoop的一个数据仓库工具,提供了SQL查询功能,能够将SQL语句解析成MapReduce任务对存储在HDFS上的数据进行处理。MySQ安装Hive有三种运行…

邮件安全隐患及其防范技术研究
邮件安全隐患及其防范技术研究<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />陈小兵【antian365.com】摘要电子邮件是Internet上使用最为频繁和广泛的服务,在给人们带来便利的同时,亦带来令人担忧的邮件…
必看!52篇深度强化学习收录论文汇总 | AAAI 2020
所有参与投票的 CSDN 用户都参加抽奖活动群内公布奖项,还有更多福利赠送来源 | 深度强化学习实验室(ID:Deep-RL)作者 | DeepRLAAAI 2020 共收到的有效论文投稿超过 8800 篇,其中 7737 篇论文进入评审环节,最终收录数量…
朴素、Select、Poll和Epoll网络编程模型实现和分析——Epoll模型
在阅读完《朴素、Select、Poll和Epoll网络编程模型实现和分析——Select模型》和《朴素、Select、Poll和Epoll网络编程模型实现和分析——Poll模型》两篇文章后,我们发现一个问题,不管select函数还是poll函数都不够智能,它们只能告诉我们成功…

Scala 深入浅出实战经典 第88讲:Scala中使用For表达式实现map、flatMap、filter
高级函数 map,flatMap,filter用for循环的实现。package com.dt.scala.forexpressionobject For_Advanced {def main(args: Array[String]) {}def map[A, B](list: List[A], f: A > B): List[B] for(element <- list) yield f(element)def flatMap[A, B](list: List[A], f…
抛弃Python,我们为什么用Go编写机器学习架构?
所有参与投票的 CSDN 用户都参加抽奖活动群内公布奖项,还有更多福利赠送作者 | Caleb Kaiser译者 | 弯月,编辑 | 郭芮来源 | CSDN(ID:CSDNnews)如今,众所周知Python是机器学习项目中最流行的语言。尽管R、C…
朴素、Select、Poll和Epoll网络编程模型实现和分析——模型比较
经过之前四篇博文的介绍,可以大致清楚各种模型的编程步骤。现在我们来回顾下各种模型(转载请指明出于breaksoftware的csdn博客) 模型编程步骤对比《朴素、Select、Poll和Epoll网络编程模型实现和分析——朴素模型》中介绍的是最基本的网络编程…

使用VM虚拟机的一点小技巧
今天想为朋友弄一个虚拟机系统文件,这样就可以直接拷贝过去,直接让他用了。哪成想电脑里的系统镜像文件不能用,也不知道是不是VM不支持,反正怎么着也引导不起来了。无奈只好用硬件光驱来装虚拟系统,把2003系统盘装入光…
翻译:AKKA笔记 - Actor消息 -1(二)
消息 我们只是让QuoteRequest到ActorRef去但是我们根本没见过消息类! 它是这样的:(一个最佳实践是把你的消息类包装在一个完整的对象里以利于更好的组织) TeacherProtocol package me.rerun.akkanotes.messaging.protocolsobject …

远程安装oracle 10.2.1 for redhat 5.0 2.6.18-53.el5xen
远程安装oracle <?xml:namespace prefix st1 ns "urn:schemas-microsoft-com:office:smarttags" />10.2.1 for redhat 5.0 2.6.18-53.el5xen<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />今天有个朋友打电…
伯克利新无监督强化学习方法:减少混沌所产生的突现行为
作者 | Glen Berseth译者 | Arvin编辑 | 夕颜出品 | AI科技大本营(ID: rgznai100)【导读】所有生命有机体都在环境中占据一席之地,使它们在周围不断增加的熵中可以保持相对可预测性。例如,人类竭尽全力保护自己免受意外袭击--我们…
朴素、Select、Poll和Epoll网络编程模型实现和分析——Poll、Epoll模型处理长连接性能比较
在《朴素、Select、Poll和Epoll网络编程模型实现和分析——模型比较》一文中,我们分析了各种模型在处理短连接时的能力。本文我们将讨论处理长连接时各个模型的性能。(转载请指明出于breaksoftware的csdn博客) 我们可以想象下场景,…

Topcoder SRM 663 DIV 1
ABBADiv1 题意: 规定两种操作,一种是在字符串的末尾添加A,另一种是在末尾添加B然后反转字符串。现在给你一个起始串,一个终点串,然后问你是否能够通过以上两种操作,从起始串变为终点串。 题解: …
跨平台PHP调试器设计及使用方法——立项
作为一个闲不住且希望一直能挑战自己的人,我总是在琢磨能做点什么。自从今年初开始接触PHP,我也总想能在这个领域内产生点贡献。那能做点什么呢?我经常看到很多phper说自己设计了一个什么框架,或者说自己搭建了一个什么系统。虽然…
机器推理文本+视觉,跨模态预训练新进展
作者 | 李根、段楠、周明来源 | 微软研究院AI头条(ID:MSRAsia)【导读】机器推理要求利用已有的知识和推断技术对未见过的输入信息作出判断,在自然语言处理领域中非常重要。本文将介绍微软亚洲研究院在跨模态预训练领域的研究进展。近年来&…

[LeetCode]:94:Binary Tree Inorder Traversal
题目: Given a binary tree, return the inorder traversal of its nodes values. For example:Given binary tree {1,#,2,3}, 1\2/3return [1,3,2]. 代码: public class Solution {public static ArrayList<Integer> listResult new ArrayList&l…
腾讯 AI 2019这一年
所有参与投票的 CSDN 用户都参加抽奖活动群内公布奖项,还有更多福利赠送近日,腾讯AI实验室总结了 2019 年其取得重大进展的两大研究方向,推动实现的行业应用以及前沿研究探索方面的成果。一、两大难题攻坚:通用人工智能与数字人用…
跨平台PHP调试器设计及使用方法——探索和设计
在《跨平台PHP调试器设计及使用方法——立项》一文中,我确定了使用xdebug作为调试器插件部分的基础组件。xdebug提供了一个远程调试的功能(相关资料可以详见https://xdebug.org/docs/remote),我们这个项目便是基于这个功能实现的。…