跨网络主机的互操作/远程控制/远程桌面的概念设计

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了跨网络主机的互操作/远程控制/远程桌面的概念设计相关的知识,希望对你有一定的参考价值。

说明:本文是思路,正确与否尚待实践。实践后会更新能否实行。

 


 

1. 直接需求:

       互联网主机作为主控端,内网(10段地址的大型公司内网,与互联网完全隔离)主机作为被控端,实现类似远程桌面效果。

2. 需求背景:

       内网内运行的系统维护或者公文传输需要电脑有内网环境才能执行,这通常当在外出差或者外出时很让人头疼,尤其是在没有VPN的情况下。最实际的办法就是利用身边的互联网设备(电脑、手机)A远程操作互联网主机B,然后利用互联网主机B控制(鼠标消息、键盘消息、回显屏幕图像)3米以内的一个内网主机C。因为内网主机C处于内网环境内,因此就解决了不利用“一机双网”(违规)的情况下进行远程维护的难题。

       本文假设的情况是:主机B与主机C在一个房间内(距离<3米),但分别连接着两个不同的网络。
       缺点:互联网设备和内网设备直接必须使用线缆相连。
       另外,此法不是最好方法。我个人认为最优方案是,搭建具有单个机械手指、以平板作为眼睛和大脑的可远程被控的机器人(需可操作鼠标/键盘/摄像功能)。这样就完全物理隔离了两个不同网络上设备的直接连接。此机器人也并非春晚上面那种有鼻子有眼的机器人(个人觉得此种机器人性价比极低,毫无必要),只需用线缆将平板和一套可以敲击键盘和推动鼠标的机械装置连接起来即可。

3. 实现思路

a. 如何远程

       在很有限的了解了远程桌面的协议和实现原理后,觉得调用微软Windows系统内置的 mstsc 程序的办法不可行,因为两台主机在两个不同的网络内。如果说使用了 mstsc 远程桌面程序,那么必须有一个主机同时连接两个网络(采用USB网卡或者加装网卡的方式),这都是违反信息安全规定的(因为一个硬盘运行在两个网络环境中是很危险的,会把硬盘上的全部东西都暴露在了互联网上)。
       个人认为目前只能自行编程发送键鼠消息给被控机,然后不断获取被控机的图显信息。网上搜索后,发现网友多用 Java.awt.Robot 库 来实现远程控制,因为该 Robot 库可以让计算机自动产生各种键鼠/输入消息。

b. 连接介质

       至于一些过时的串口、红外,就更不提了。比较可行的方案就是USB线缆了。有一种USB连接线,在线材中间会有个芯片,插上去后,两台主机可以共用一套键鼠,并且还能拖拽/复制/粘贴文件。(这种线缆我就在用,能很方便的解决内网和互联网主机直接传输文件的问题)因为USB总线协议中,只能有一个主机,所有两个电脑互相操作,就需要芯片里面的程序来调解谁来当主机,谁来当设备,就是谁主控,谁被控的问题。然而,很遗憾的是,这种产品具体实现细节没有公开,对于芯片和控制程序网上资料非常匮乏,更遑论给程序员们提供编程接口了。
考察到最后,只有最常用的RJ45网线了。毕竟TCP/IP协议这玩意开放,谁都可以用。硬件方案就是两台主机各自加装一个USB转网口设备,然后用网线联通,这样每台主机各自都有2个网卡。新增的2个USB网卡组成一个小局域网,然后利用Java/C++的网络编程(TCP/IP协议、Socket)做任何事。

       附上随手画的网络拓扑图。N表示网卡,“移”表示可插拔的USB转网卡。

技术分享

 

 

2017年10月1日 23:03:40

先附上几个参考博客:

1. 双网卡如何设置路由同时上网     http://wangpai.2345.cn/thread.php?fid=12&pid=3474777

2. Java远程监控  http://yacare.iteye.com/blog/1965439

3. Java远程控制(更详细) http://www.jb51.net/article/91082.htm


 

 

 

另外,很想表扬下这个“图书馆学术交流与文献互助联盟”的组织,让我感受到了国家和组织的温暖。我发出“文献传递”的请求不到20分钟,就发过来了。开始我还以为是个忽悠人的组织,看来

还真是做实事的,真不容易。另外感谢单位的维普帐号。

技术分享

以上是关于跨网络主机的互操作/远程控制/远程桌面的概念设计的主要内容,如果未能解决你的问题,请参考以下文章

用了这跨操作系统远控软件,我再也不出差了

用了这跨操作系统远控软件,我再也不出差了

向日葵远程控制为何采用BGP服务器?自动最优路线跨运营商高速传输

向日葵远程控制为何采用BGP服务器?自动最优路线跨运营商高速传输

向日葵远程控制为何采用BGP服务器?自动最优路线跨运营商高速传输

远程桌面连接操作