摘要:时至今日,计算机网络已经成为了人类社会生活中必不可少的组成部分,其中计算机的远程控制系统更是为整个社会的进步起到推动作用。除了在工业自动化生产之外,计算机远程控制系统还广泛的应用于办公、技术支持等方面。在本文中,将设计一种简单的基于的SOCKET技术的计算机远程控制系统。

关键词:SOCKET;计算机远程控制

中图分类号:TP273.5文献标识码:A文章编号:1007-9599 (2012) 02-0000-02

Computer Remote Control Based on SOCKET Technology

Chen Shijun

(Hubei Telecom Business Technology,Support Center,Wuhan430015,China)

Abstract:Today,the computer network has become an integral part of human social life,which the computer's remote control system is to play a role in promoting the advancement of society as a whole.In addition to in addition to the production of industrial automation,computer remote control system is also widely used in office,technical support and other aspects.In this paper,design a simple SOCKET technology based on computer remote control system.

Keywords:SOCKET;Computer remote control

一、远程控制系统的意义及理论基础

(一)远程控制系统的意义

计算机远程控制对于整个互联网络而言具有重要的意义,无论是正面意义的远程技术支持还是反面意义的后门犯罪从发展的角度来看都对计算机及网络技术起到了一个推动作用,而科学技术是第一生产力,技术的进步对于整个社会来说就有意义,尤其是现在的计算机已经渗透到人们生活中的每一个角落,所以本文吸收以往的一些远程控制系统的优点并结合自己的理念设计了一套基于SOCKET技术的计算机远程控制系统。

(二)远程控制系统的理论基础

本文设计的远程控制系统是基于SOCKET的,也就是俗称的“套接字”,使用SOCKET有以下优点:

1.减少了网络通信的技术难度,SOCKET有标准的函数支持,具有标准的使用方法。

2.可以轻松的实现跨平台,目前基本所有的系统,windows、linux、unix及嵌入式系统、PLC等全部支持SOCKET。

综上所述,基于SOCKET设计计算机远程控制系统是可行的。

二、远程控制系统的整体构架

(一)传输协议的选择

在TCP/IP的传输层上,存在着两种可以使用的通信协议,一种是UDP,另一种是TCP。UDP协议能够提供的是一种不可靠的服务,不可能保证数据在传输过程中不出现差错;TCP协议是一种能提供双向有序、且保证数据包可靠收发的协议。在远程控制系统中,安全是第一个要考虑的问题,所以本文设计的远程控制系统使用TCP作为传输协议。

(二)使用模型的选择

本文设计的远程控制模式为一控多,既由一台主计算机控制其他计算机,在模型上更加贴近于C/S模型,虽然使用C/S模型增加了客户端程序设计的难度,但是C/S处理数据快速、准确、安全、封闭性能好,可以很好的抵抗干扰,并且可以快速的响应远程操作请求,所以本系统使用C/S模型。

(三)控制端需求设计

控制端要求有以下三点:

1.能向指定的被控端发送操作指令。在指令中包含两个部分:一是被控端地址,二是操作代码。

2.可接受被控端返回的信息。当控制端受到被控端返回的信息时应该能分析出该信息的来源是否正确,数据包结构是否合法,并能将合法的数据包解析为可理解的信息呈现给控制者。

3.可以提供数据加密服务。为了更好的保证系统的安全性,必须使用一套安全可靠的密码机制,所以要求控制端应该能与被控端建立可靠的安全的连接,并用该链接传输加密后的数据包。

(四)被控端需求设计

被控端主要承担四个工作:

1.对控制端发送过来的操作代码的解析与执行。要求被控端可以验证操作代码来源,分析操作代码是否合理,合理的话要求被控端可以执行控制端要求的操作。

2.将操作结果反馈给控制端。要求被控端必须收集每一步操作产生的日志信息,当控制端需要查看结果时,可以将信息传递回控制端。

3.提供数据加密服务。被控端的数据加密服务与控制端的数据加密服务目的相同,但是实现方法有差别,两者代码部分重合,但并不通用。

4.提供自我保护服务。避免被控端误操作脱离控制端的控制。

三、控制端具体设计

(一)控制端工作使用线程如下

1.常驻监听线程,用以打开一个指定的端口,对该端口进行监听,等待由被控端主动发起的连接请求。

2.图形界面,用做与控制者交互,使用该界面与其他服务线程联系并且作为操作者操作翻译、确认以及显示接受到的由被控端发送的数据内容。在面向使用者的设计中,图形界面可完成以下任务:

(1)连接到指定的被控端IP。(2)显示连接列表。(3)断开与某被控端的IP。(4)向某被控端发送操作命令,操作指令可以是以下内容:直接交由被控端执行的命令,此类命令既可以人工键入,也可由软件自动生成。控制被控端返回状态的命令。(5)显示被控端状态。可以是图像,文字等。

3.加密服务线程,由图形界面临时创立,负责接受图形界面发送过来的用户操作编码,并将其根据传输通道建立时随机产生的密钥进行加密或解密操作,图形界面会根据使用需求不同传递进不同的参数,该线程会根据参数选择是加密后送入传输线程发送还是加密后向图形界面返回明文。其基本流程如下:

首先检查图形界面传递进的参数含义是加密还是解密,如果是加密则将图形界面传递的参数对指定数据进行加密,加密后的数据直接送入传输线程;如果是解密,则对指定数据解密,之后返回解密后的数据地址指针以及数据长度。

4.传输线程,该线程负责使用建立的传输通道传送数据,由图形界面创立,当常驻监听线程监听到被控端连接请求并交给图形界面同意后或者由使用者操作图形界面直接发起向被控端连接的请求同意后创立,该线程的基本流程如下:

首先该线程打开特定端口与被控端建立明文连接,之后建立安全通道建立线程建立安全通道,当通道建立后既进入等待中,其生命周期从建立开始到控制者操作图形界面停止与被控端连接为止。。

5.安全通道建立线程,由传输线程建立。发起连接者不同,建立条件也有差异。其操作流程如下:

首先被控端使用控制端公钥加密得到的随机对称式密钥K1并发送至控制端,之后控制端使用公钥解密得到K1并用K1加密K1,将密文发送至被控端,然后被控端用K1解密密文并与K1进行比较,判断是否正确,如果正确,那么建立连接,使用的通信密钥为K1。如果由连接请求是由控制端发起,则多加一个控制端要求被控端发起连接的公开请求过程。

四、被控端具体设计

被控端与控制端有着诸多的相同点,包括常驻监听线程、加密服务线程、传输线程、安全通道建立线程。不同的是被控端没有图形界面,所有的操作全部为后台进行,而且被控端多加了自我保护服务,用以保护被控端的可控性。其不同的地方设计如下:

(一)后台操作线程。该线程起到的功能相当于控制端的图形界面所起到的中枢功能。当该线程接受到控制端发送过来的指令时,首先做的也是解密翻译,之后根据命令的不同执行不同的操作。操作有以下几类:

1.直接交由操作系统执行命令并记录返回情况;2.控制计算机的输入设备并记录返回情况;3.控制计算机的输出设备并记录返回情况;4.向控制端发送记录的返回情况。

(二)自我保护线程。该线程设计运行于计算机的RING0层,并运用ROOKIT手法以及软件安全技术屏蔽一切对本线程不利的操作,用以保证被控端的可控性。其监控方面有以下几个:

1.计算机驱动的加载;2.输入输出设备;3.文件系统变动;4.应用程序的危险操作。

通过以上的防护措施,基本上可以保证控制端对于被控端的控制,达到远程控制的目的。

参考文献

[1]田鹏.基于WEB的远程控制系统设计[D].兰州大学,2011

[2]马强.计算机网络远程控制系统的研究与应用[D].中国地质大学,2007

[3]王涛.基于安全模式的软件安全设计方法[D].吉林大学,2011

[4]朗波,王晓青.基于计算机网络远程控制系统的图像传输实现策略[J].青海大学学报(自然科学版),2008

[5]朱庆军,丁志刚,吕卫阳.基于C/S模式的智能相机远程控制系统研究[J].电气应用,2008(08)

工业计算机远程控制,基于SOCKET技术的计算机远程控制实现相关推荐

  1. 计算机php开发技术,基于PHP技术的计算机基础考试系统的开发

    余攀 摘 要 对于这个系统相关的开发,主要是针对于我们学校的计算机基础考试来进行的,从对于考试进行计时,先自动的进行分管卷子,然后进行试题管理等等方面进行相关的研究,这样的话可以更好地进行相应的研究, ...

  2. 系统基于 php 开发,基于PHP技术的计算机基础考试系统的开发

    随着社会的不断的发展,我们国内许多的招生都采用网上管理的方式来进行,很多社会性质的考试都采取网上报名的方式.但是因为目前我国内各个方面的限制,造成网上报名和管理方面还不是很好,仍然存在许多的缺点.对于 ...

  3. 基于socket网络编程技术实现TCP和UDP的流程详解及实例

    具体函数讲解太多,根据程序自行分析. 可以参考这篇文章: https://blog.csdn.net/qq_41687938/article/details/119102328?spm=1001.20 ...

  4. 控制服务器系统设计,基于 DNS 技术的顶管机远程控制系统设计与实现

    顶管施工技术的优点是传统的开挖施工所取代不了的,因此越来越受到人们重视,而顶管施工技术中所使用的顶管掘进机是一种用于非开挖技术中铺设新管线的重要施工机械,越来越受到大众亲睐.顶管法是非开挖管道施工技术 ...

  5. 计算机远程控制设计,远程控制软件的设计与实现

    内容简介: 课程设计 远程控制软件的设计与实现(共36页,14212字) 摘要 随着科学技术的发展与网络的普及,技术和硬件的不断增多使如何有效管理计算机系统和提供更好服务成为大家都在探索的问题,远程控 ...

  6. eBPF技术应用云原生网络实践系列之基于socket的service | 龙蜥技术

    简介:如何使用 socket eBPF进一步提升Service 网络的转发性能? 背景介绍 Kubernetes 中的网络功能,主要包括 POD 网络,service 网络和网络策略组成.其中 POD ...

  7. 网络编程(基于socket接口技术的进程间通信)接上一篇文章补充

    目录 一.网络编程(基于socket接口技术) 1.基于TCP协议的网络通信 编程模型: 2.基于UDP通信协议的网络通信 编程模型: 3.新增函数: 大小端数据转换函数: ip地址转换函数: TCP ...

  8. 怎么预防远程控制计算机,电脑被远程控制怎么办_怎么禁止别人远程控制计算机...

    摘要 腾兴网为您分享:怎么禁止别人远程控制计算机,月星家居,小度音响,相机美颜,微商助手等软件知识,以及股票涨幅计算器,isler,文件隐藏专家,找玩具网,积分斗地主,ps光效笔刷,东京招聘网,易订货 ...

  9. JAVA计算机毕业设计基于vue技术的汽车维修检测系统设计与实现源码+数据库+系统+lw文档

    JAVA计算机毕业设计基于vue技术的汽车维修检测系统设计与实现源码+数据库+系统+lw文档 JAVA计算机毕业设计基于vue技术的汽车维修检测系统设计与实现源码+数据库+系统+lw文档 本源码技术栈 ...

最新文章

  1. 理解人类世界的常识对于人工智能是一项挑战
  2. android的 selector 背景选择器和 shape 详解(转)
  3. Java加载词向量_W2C得到词向量之后,如何得到句子向量,
  4. 利用Servlet生成动态验证码
  5. android 等待动画 库,android--AnimationDrawable实现等待动画效果
  6. 竞赛奇葩队名,学编程的人都是隐藏的段子手 | 今日最佳
  7. 依赖注入和控制反转的理解,写的太好了。
  8. 今天动手熟悉了一下css和php
  9. 为了让你的网页能在更多的服务器上正常地显示,还是加上“SET NAMES UTF8”吧
  10. java set中取数据_Java中取数据库用的ResultSet问题
  11. XML DOM Object Model in .NET [3/3] - Samples
  12. Spring Boot+JPA 查询数据方式与代码演示
  13. Delphi BLE 控件
  14. 如果计算机是中国人发明的,那编程代码很可能就应该这样写!
  15. Spring Cloud config之一:分布式配置中心config server介绍
  16. android自定义软键盘
  17. c# foreach循环二维数组
  18. 利用MapGis6.7 对 jpg图像文件进行图形校准
  19. 数据包络分析--两阶段加性网络DEA--使用优化黄金分割比例算法(第二篇)
  20. lua tonumber

热门文章

  1. 解决从其它搜索引擎不能直接访问百度页面的问题
  2. 常见的排序算法二——希尔排序
  3. nodejs mysql模块_NodeJs使用Mysql模块实现事务处理
  4. /* compiled code */ ?
  5. maven引用公共包_使用github作为maven仓库存放发布自己的jar包依赖 实现多个项目公共部分代码的集中,避免团队中多个项目之间代码的复制粘贴...
  6. 自动化部署kvm虚拟机_自动化虚拟助手
  7. matlab 细化函数,MATLAB图像处理工具箱函数(细化篇).doc
  8. 河南招教考试计算机专业知识,河南教师招聘考试《计算机网络技术基础》知识点归纳七...
  9. axure form列表_常见的列表页如何用Axure画出来
  10. 微信 android兼容性问题怎么解决方案,微信小程序兼容性问题