CN117319466A - 计算机远程控制方法、系统、计算机设备和存储介质 - Google Patents
计算机远程控制方法、系统、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN117319466A CN117319466A CN202311268334.2A CN202311268334A CN117319466A CN 117319466 A CN117319466 A CN 117319466A CN 202311268334 A CN202311268334 A CN 202311268334A CN 117319466 A CN117319466 A CN 117319466A
- Authority
- CN
- China
- Prior art keywords
- remote control
- computer
- request
- public network
- network server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 230000000977 initiatory effect Effects 0.000 claims abstract description 5
- 230000004044 response Effects 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 9
- 230000000007 visual effect Effects 0.000 claims description 9
- 238000004891 communication Methods 0.000 description 18
- 238000005516 engineering process Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000035515 penetration Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请涉及一种计算机远程控制方法、系统、计算机设备和存储介质。所述系统包括:外网客户端用于向公网服务器发起针对目标内网计算机的远程控制请求和远程控制指令,公网服务器用于定时接收内网计算机发送的控制询问请求,并在接收到目标内网计算机对应的远程控制请求时将该远程控制请求转发至目标内网计算机,目标内网计算机基于远程控制请求主动向公网服务器发送通道连接请求,以建立与公网服务器之间的连接通道,公网服务器通过连接通道向目标内网计算机发送远程控制指令以控制目标内网计算机,从而无需在内网计算机上开设对外端口,从而可以避免对外端口暴露所带来的安全风险。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种计算机远程控制方法、系统、计算机设备和存储介质。
背景技术
计算机远程控制技术已经被广泛应用于各种场景中,以实现对远程计算机的监控和管理。但现有的计算机远程控制技术主要是采用SSH(Secure Shell,安全外壳网络安全协议)或VNC(Virtual Network Console,虚拟网络控制台)来实现。这些技术主要采用直接连接的方式,需要在被远程控制的计算机防火墙上配置端口转发规则,以将内网计算机的一个端口公开至外网,并对该端口进行监听,该端口一旦被暴露,容易存在被恶意攻击的安全风险。
发明内容
本申请提供了一种计算机远程控制方法、系统、计算机设备和存储介质,以解决现有计算机远程控制技术存在端口被恶意攻击的安全风险的问题。
第一方面,本申请提供了一种计算机远程控制系统,所述系统包括:
外网客户端,用于向公网服务器发起针对目标内网计算机的远程控制请求和远程控制指令;且接收并展示所述公网服务器转发的所述远程控制指令对应的执行结果,其中,所述目标内网计算机为任意一个内网计算机;
所述目标内网计算机,用于定时向公网服务器发送控制询问请求以获取所述目标内网计算机对应的远程控制请求;并在获取到所述目标内网计算机对应的远程控制请求时建立与所述公网服务器之间的连接通道;并在成功建立所述连接通道的情况下,基于所述连接通道接收并执行所述公网服务器转发的所述远程控制指令;还基于所述连接通道发送所述远程控制指令的执行结果至所述公网服务器;
所述公网服务器,用于接收所述外网客户端发起的所述远程控制请求和所述远程控制指令,并在接收到所述目标内网计算机的控制询问请求时将所述远程控制请求转发至所述目标内网计算机;还在与所述目标内网计算机成功建立所述连接通道的情况下,基于所述连接通道将所述远程控制指令转发至所述目标内网计算机;在基于所述连接通道接收到所述远程控制指令对应的执行结果时,将所述执行结果转发至所述外网客户端。
第二方面,本申请提供了一种计算机远程控制方法,应用于公网服务器,所述方法包括:
获取外网客户端针对目标内网计算机发起的远程控制请求和远程控制指令,其中,所述目标内网计算机为任意一个内网计算机;
在接收到所述目标内网计算机发送的控制询问请求时,将所述远程控制请求发送至所述目标内网计算机;
在接收到所述目标内网计算机发送的通道连接请求时,返回相应的请求响应数据至所述目标内网计算机,以建立与所述目标内网计算机之间的连接通道,其中,所述通道连接请求用于请求建立所述目标内网计算机与所述外网客户端之间的连接通道;
通过所述连接通道将所述远程控制指令发送至所述目标内网计算机;
基于所述连接通道接收到所述远程控制指令对应的执行结果时,将所述执行结果转发至所述外网客户端进行可视化展示。
第三方面,本申请提供了一种计算机远程控制方法,应用于内网计算机,所述方法包括:
按照预设周期定时向公网服务器发送控制询问请求,其中,所述控制询问请求用于请求获取目标内网计算机对应的远程控制请求,所述目标内网计算机为任意一个内网计算机;
在接收到所述公网服务器发送的与所述目标内网计算机对应的远程控制请求时,发送通道连接请求至所述公网服务器,其中,所述通道连接请求用于建立所述目标内网计算机与所述公网服务器之间的连接通道;
在接收到所述公网服务器发送的与所述通道连接请求相对应的请求响应数据时,基于所述请求响应数据建立与所述公网服务器之间的所述连接通道;
基于所述连接通道接收到所述公网服务器发送的远程控制指令时,执行所述远程控制指令;
通过所述连接通道将所述远程控制指令的执行结果发送至所述公网服务器。
第四方面,本申请提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述计算机远程控制方法的步骤。
第五方面,本申请还提供了一种计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述计算机远程控制方法。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:本申请实施例提供的计算机远程控制系统,包括外网客户端、内网计算机和公网服务器,外网客户端用于向公网服务器发起针对目标内网计算机的远程控制请求和远程控制指令,公网服务器用于定时接收内网计算机发送的控制询问请求,并在接收到目标内网计算机对应的远程控制请求时将该远程控制请求转发至目标内网计算机,目标内网计算机基于远程控制请求主动向公网服务器发送通道连接请求,以建立与公网服务器之间的连接通道,公网服务器通过连接通道向目标内网计算机发送远程控制指令以控制目标内网计算机,从而实现计算机远程控制,通过内网计算机主动反向与公网服务器建立连接通道,从而无需在内网计算机上开设对外端口,从而可以避免对外端口暴露所带来的安全风险。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1为本申请实施例提供的一种计算机远程控制方法的应用环境图;
图2为本申请实施例提供的一种计算机远程控制方法的流程示意图;
图3为本申请实施例提供的一种计算机远程控制方法的流程示意图;
图4为本申请实施例提供的一种计算机远程控制方法的流程示意图;
图5为本申请实施例提供的一种计算机远程控制方法的流程示意图;
图6为本申请实施例提供的一种计算机远程控制方法的流程示意图;
图7为本申请实施例提供的一种计算机远程控制方法的流程示意图;
图8为本申请实施例提供的一种计算机远程控制方法的流程示意图;
图9为本申请实施例提供的一种计算机设备的内部结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。当然,它们仅仅为示例,并且目的不在于限制本发明。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。
图1为一个实施例中计算机远程控制方法的应用环境图。参照图1,该计算机远程控制方法应用于计算机远程控制系统。该计算机远程控制系统包括:
外网客户端110,用于向公网服务器120发起针对目标内网计算机的远程控制请求和远程控制指令;且接收并展示所述公网服务器120转发的所述远程控制指令对应的执行结果,其中,所述目标内网计算机为任意一个内网计算机130。
具体的,外网客户端110可以为DNS客户端、web客户端或移动客户端等中任意一种,web客户端主要指web浏览器,其主要功能是将用户向服务器请求的Web资源呈现出来,显示在浏览器窗口中。移动客户端就是可以在移动终端上运行的软件或程序,移动终端具体可以为手机、平板电脑、笔记本电脑等中的至少一种。外网客户端110是指位于广域网内的客户端,广域网也就是公网,公网是指连接不同区域网或者是城域网计算机通信的远程网,可以是几公里,也可以是几千公里,它能连接多个地区、城市和国家,或横跨几个洲并提供远距离的通讯。
远程控制请求用于表示外网客户端110请求远程控制目标内网计算机,远程控制请求包含控制端的外网客户端110的客户端信息以及被控制端的目标内网计算机的计算机信息,客户端信息具体包括客户端类型、客户端标识、客户端通信地址等,计算机信息具体包括计算机类型、计算机标识、计算机通信地址等。远程控制指令用于改变内网计算机130的运行程序或运行状态。
外网客户端110具体利用xterm.js技术与WebSocket技术实现了执行结果实时回显的功能。在本实施例中外网客户端110即为Web浏览器,xterm.js技术可以在Web浏览器中渲染一个模拟终端,由于采用了WebSocket长连接,操作者可以在Web浏览器界面上实时看到目标内网计算机上对于远程控制指令的执行结果,使用xterm.js等网页终端实现浏览器端用户界面,大幅降低了计算机远程控制的使用门槛。
所述目标内网计算机,用于定时向公网服务器120发送控制询问请求以获取所述目标内网计算机对应的远程控制请求;并在获取到所述目标内网计算机对应的远程控制请求时建立与所述公网服务器120之间的连接通道;并在成功建立所述连接通道的情况下,基于所述连接通道接收并执行所述公网服务器120转发的所述远程控制指令;还基于所述连接通道发送所述远程控制指令的执行结果至所述公网服务器120。
具体的,目标内网计算机是指外网客户端110所请求远程控制的内网计算机130,可以为任意一个内网计算机130。内网计算机130定时向公网服务器120发送控制询问请求,控制询问请求用于请求公网服务器120是否接收到针对该内网计算机130的远程控制请求,即内网计算机130定时询问公网服务器120该内网计算机130是否需要被远程控制,若公网服务器120已接收到该内网计算机130所对应的远程控制请求,则会将内网计算机130所对应的远程控制请求转发给该内网计算机130,内网计算机130则会知晓自己被选中进行远程控制,为了实现远程控制内网计算机130主动反向与公网服务器120建立连接通道,基于连接通道接收远程控制指令并执行该远程控制指令以实现远程控制,通过连接通道将远程控制指令的执行结果返回给公网服务器120,公网服务器120再将该执行结果转发给外网客户端110,以告知外网客户端110远程控制指令的执行结果。
所述公网服务器120,用于接收所述外网客户端110发起的所述远程控制请求和所述远程控制指令,并在接收到所述目标内网计算机的控制询问请求时将所述远程控制请求转发至所述目标内网计算机;还在与所述目标内网计算机成功建立所述连接通道的情况下,基于所述连接通道将所述远程控制指令转发至所述目标内网计算机;在基于所述连接通道接收到所述远程控制指令对应的执行结果时,将所述执行结果转发至所述外网客户端110。
具体的,公网服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。公网服务器120位于外网客户端110与内网计算机130之间,用于起到数据转发作用,转发外网客户端110与内网计算机130之间的交互数据,并且在外网客户端110对目标内网计算机发起远程控制请求时,支持与目标内网计算机建立连接通道,通过连接通道可以持续稳定地与目标内网计算机进行信息交互,从而实现持续稳定地将外网客户端110发起的远程控制指令转发至目标内网计算机,并将目标内网计算机反馈的执行结果转发至外网客户端110,以实现外网客户端110能够稳定可靠地对内网计算机130进行远程控制。一个公网服务器120可支持成千上万的内网计算机130的远程控制,从而降低了远程控制成本。
用户可以通过外网客户端110向公网服务器120发起远程控制请求,远程控制请求用于请求控制位于局域网中的目标内网计算机,即外网客户端110与内网计算机130分别位于不同的通信网络区域内,而通常外网客户端110若要访问内网计算机130则需要通过公网服务器120进行转达,且需要穿过内网的防火墙,因此外网客户端110主动与内网计算机130建立通信则需要穿过防火墙,该方式则需要在防火墙上开设对外端口,则会面临对外端口一旦暴露容易被恶意攻击的安全风险。为避免该安全风险,则由外内网计算机130反向主动与公网服务器120建立连接通道,公网服务器120可以通过连接通道向内网计算机130持续稳定地发送外网客户端110所发起的远程控制指令,以实现远程控制内网计算机130,从而无需外网客户端110穿过防火墙来控制内网计算机130,也就无需在内网计算机130的防火墙上开设对外端口,从而可以避免对外端口暴露所带来的安全风险。
在一个实施例中,图2为一个实施例中一种计算机远程控制方法的流程示意图,参照图2,提供了一种计算机远程控制方法。本实施例主要以该方法应用于上述图1中的公网服务器120来举例说明,该计算机远程控制方法具体包括如下步骤:
步骤S210,获取外网客户端110针对目标内网计算机发起的远程控制请求和远程控制指令,其中,所述目标内网计算机为任意一个内网计算机130。
具体的,公网服务器120接收外网客户端110发起的针对目标内网计算机的远程控制请求和远程控制指令,远程控制请求和远程控制指令可以为外网客户端110同时发起的,也可以为外网客户端110不同时发起的,即远程控制指令可以为外网客户端110在发起远程控制请求后,且公网服务器120与内网计算机130成功建立连接通道后所发起的。远程控制请求用于指示外网客户端110请求控制目标内网计算机,远程控制指令则是外网客户端110远程控制目标内网计算机所要执行的指令,远程控制指令可以为内网计算机130可执行的任意操作指令。
步骤S220,在接收到所述目标内网计算机发送的控制询问请求时,将所述远程控制请求发送至所述目标内网计算机。
具体的,控制询问请求用于请求获取用于控制目标内网计算机的远程控制请求,也就是用于询问目标内网计算机是否需要被远程控制,若在接收到目标内网计算机所发起的控制询问请求之前的预设时长内接收到关于目标内网计算机的远程控制请求,表示目标内网计算机需要被远程控制,则将目标内网计算机所对应的远程控制请求发送至目标内网计算机,以告知目标内网计算机有外网客户端110请求远程控制它,由目标内网计算机决定是否允许被该外网客户端110远程控制。
步骤S230,在接收到所述目标内网计算机发送的通道连接请求时,返回相应的请求响应数据至所述目标内网计算机,以建立与所述目标内网计算机之间的连接通道,其中,所述通道连接请求用于请求建立所述目标内网计算机与所述外网客户端110之间的连接通道。
具体的,若公网服务器120接收到目标内网计算机反向主动发起的通道连接请求,表示目标内网计算机允许被发起远程控制请求的外网客户端110远程控制,而通道连接请求是指用于建立连接通道的连接请求,连接通道可以为任意通信协议所对应的通信通道,通信协议可以为TCP协议或UDP协议等,在此处以TCP协议进行示例说明,即通道连接请求即为TCP连接请求,用于建立TCP连接通道。在此之前公网服务器120通过HTTP通信协议与内网计算机130进行通信,以获取内网计算机130发送的控制询问请求并转发远程控制请求,即是通过无状态的短连接方式进行通信。而若要实现远程控制则需要可持续稳定地长连接方式进行通信,但公网服务器120主动与内网计算机130建立长连接方式进行通信,则需要穿过内网计算机130的防火墙,为了避免在防火墙上开设对外端口,则由内网计算机130主动向公网服务器120发起长连接通信方式的通道连接请求,这样就可以在无需穿过内网防火墙的情况下建立公网服务器120与内网计算机130之间的TCP连接通道,实现内网主动穿透。
在本实施例中通道连接请求和请求响应数据用于指代TCP连接过程,TCP连接过程至少包含TCP三次握手交互,而三次握手交互即为公网服务器120与内网计算机130之间交换三个TCP报文段,从而建立可靠的连接通道。
步骤S240,通过所述连接通道将所述远程控制指令发送至所述目标内网计算机。
具体的,通过支持长连接通信的连接通道可以持续地将外网客户端110发送的远程控制指令持续地发送至目标内网计算机,以实现实时远程控制目标内网计算机。
步骤S250,基于所述连接通道接收到所述远程控制指令对应的执行结果时,将所述执行结果转发至所述外网客户端110进行可视化展示。
具体的,公网服务器120通过连接通道接收远程控制指令所对应的执行结果后,再将执行结果转发给外网客户端110进行可视化展示,令用户通过外网客户端110可以直观看到目标内网计算机对于远程控制指令的执行结果。
在一个实施例中,如图3所示,所述通过所述连接通道将所述远程控制指令发送至所述目标内网计算机,包括:
步骤S2401,按照所述通道连接请求和所述请求响应数据协商一致的预设加密方式对所述远程控制指令进行加密处理,得到加密后的所述远程控制指令;
步骤S2402,通过所述连接通道将加密后的所述远程控制指令发送至所述目标内网计算机。
具体的,按照通道连接请求和请求响应数据协商一致的预设加密方式,表示该预设加密方式是目标内网计算机和公网服务器120共同认可的加密方式,在公网服务器120按照预设加密方式对远程控制指令进行加密处理,从而确保远程控制指令在连接通道中进行传输的安全性,令目标内网计算机得到加密后的远程控制指令,由于该预设加密方式是目标内网计算机和公网服务器120共同协商确定的,因此目标内网计算机可以成功对加密后的远程控制指令进行解密,以获取解密后的远程控制指令。同一个公网服务器120可以与不同的内网计算机130协商出相同或不同的加解密方式,且同一公网服务器120可以同时与多个内网计算机130分别建立相应的连接通道,以同时为多个外网客户端110提供数据转发服务,令多个外网客户端110能够同时实现对不同内网计算机130的远程控制,而一个内网计算机130在同一时刻下仅允许被一个外网客户端110进行远程控制。
在一个实施例中,如图4所示,基于所述连接通道接收到所述远程控制指令对应的执行结果时,将所述执行结果转发至所述外网客户端110进行可视化展示,包括:
步骤S2501,基于所述连接通道接收到所述远程控制指令对应的经过加密后的执行结果时,按照所述通道连接请求和所述请求响应数据协商一致的预设解密方式对经过加密后的所述执行结果进行解密处理,得到解密后的所述执行结果;
步骤S2502,将解密后的所述执行结果发送至所述外网客户端110进行可视化展示。
具体的,公网服务器120通过与目标内网计算机之间建立的连接通道,接收目标内网计算机发送的对于远程控制指令的执行结果,但由于公网服务器120和内网计算机130之间是进行加密传输,则公网服务器120需要对经过加密后的执行结果进行解密处理后,再将解密后的执行结果反馈给外网客户端110,以告知外网客户端110其控制情况。
为了进一步确保外网客户端110、公网服务器120和内网计算机130之间的数据传输安全,也可以令外网客户端110和公网服务器120之间进行加密传输,即公网服务器120将解密后的执行结果再按照外网客户端110所支持的加密方式进行加密,再将加密后的执行结果反馈给外网客户端110,外网客户端110再对加密后的执行结果进行解密后进行可视化展示。
在一个实施例中,如图5所示,提供了一种计算机远程控制方法,应用于内网计算机130,所述方法包括:
步骤S310,按照预设周期定时向公网服务器120发送控制询问请求,其中,所述控制询问请求用于请求获取目标内网计算机对应的远程控制请求,所述目标内网计算机为任意一个内网计算机130。
具体的,预设周期可以根据实际应用场景进行自定义设置,例如1分钟、5分钟或10分钟等,内网计算机130定时向公网服务器120发送控制询问请求以询问是否需要被远程控制。
步骤S320,在接收到所述公网服务器120发送的与所述目标内网计算机对应的远程控制请求时,发送通道连接请求至所述公网服务器120,其中,所述通道连接请求用于建立所述目标内网计算机与所述公网服务器120之间的连接通道。
具体的,在接收到公网服务器120发送的用于请求控制目标内网计算机的远程控制请求时,表示有外网客户端110请求控制该目标内网计算机,目标内网计算机则主动向公网服务器120发送通道连接请求,以实现反向主动与公网服务器120建立连接通道。
步骤S330,在接收到所述公网服务器120发送的与所述通道连接请求相对应的请求响应数据时,基于所述请求响应数据建立与所述公网服务器120之间的所述连接通道。
具体的,在接收到公网服务器120发送的关于通道连接请求的请求响应数据时,目标内网计算机则根据请求响应数据建立与公网服务器120之间的连接通道,该连接通道参加上述内容可知即为TCP连接通道。
步骤S340,基于所述连接通道接收到所述公网服务器120发送的远程控制指令时,执行所述远程控制指令。
具体的,目标内网计算机与公网服务器120之间成功建立连接通道的情况下,目标内网计算机则可以基于连接通道持续稳定地接收公网服务器120所转发的来自外网客户端110的远程控制指令,并执行该远程控制指令,从而实现内网计算机130的远程控制。并且该远程控制实现是基于内网计算机130主动实现内网穿透与公网服务器120建立连接通道,允许远程操作者通过互联网从外部连接到目标内网计算机,该方法可以绕过防火墙和网络地址转换(NAT)等限制,实现灵活的连接。并且无需在内网防火墙上开设对外端口或安装额外服务,从而可以避免对外端口暴露所带来的安全风险。
步骤S350,通过所述连接通道将所述远程控制指令的执行结果发送至所述公网服务器120。
具体的,目标内网计算机还通过连接通道向公网服务器120反馈远程控制指令的执行结果,公网服务器120再将该执行结果转发给外网客户端110,并在外网客户端110上可视化展示该执行结果,从而在外网客户端110形成远程会话的交互界面。
在一个实施例中,如图6所示,所述在接收到所述公网服务器120发送的与所述目标内网计算机对应的远程控制请求时,发送通道连接请求至所述公网服务器120,包括:
步骤S3201,在接收到所述公网服务器120发送的与所述目标内网计算机对应的远程控制请求时,对所述远程控制请求对应的所述外网客户端110进行鉴权处理,得到所述外网客户端110的控制权限;
步骤S3202,在所述控制权限为有权时,发送通道连接请求至所述公网服务器120。
具体的,目标内网计算机在接收到外网客户端110通过公网服务器120发送的远程控制请求时,还需要判断是否允许被该外网客户端110远程控制,即对该外网客户端110进行鉴权处理,具体可以在客户端白名单中查找该外网客户端110的客户端标识,若查找到该外网客户端110的客户端标识,表示允许被该外网客户端110远程控制,则判定该外网客户端110的控制权限为有权;若未查找到该外网客户度的客户端标识,表示不允许被该外网客户端110远程控制,则判定该外网客户端110的控制权限为无权。
仅在控制权限为有权时,目标内网计算机才主动向公网服务器120发送通道连接请求以建立连接通道,在控制权限为无权时,目标内网计算机则不会反向主动建立与公网服务器120之间的连接通道,从而可以提高目标内网计算机被远程控制的安全性。
在一个实施例中,如图7所示,所述基于所述连接通道接收到所述公网服务器120发送的远程控制指令时,执行所述远程控制指令,包括:
步骤S3401,利用伪终端程序接收到所述公网服务器120通过所述连接通道接发送的经过加密处理的远程控制指令时,按照所述通道连接请求和所述请求响应数据协商一致的预设解密方式,对经过加密处理的所述远程控制指令进行解密处理,得到解密后的所述远程控制指令;
步骤S3402,在解密后的所述远程控制指令的执行权限为有权时,执行解密后的所述远程控制指令。
具体的,目标内网计算机和公网服务器120之间可以进行加密传输,具体是由目标内网计算机的伪终端程序(/dev/ptmx)对接连接通道,从而接收公网服务器120通过连接通道传输的经过加密处理的远程控制指令,并按照通道连接请求和请求响应数据所协商一致的预设解密方式,对经过加密的远程控制指令进行解密处理后,再对解密后的远程控制指令进行鉴权处理,以判断目标内网计算机是否有权执行该远程控制指令,若该远程控制指令的执行权限为有权时才执行解密后的远程控制指令,具体可以通过。通过伪终端程序对于远程控制指令的写入操作来模拟键盘输入,从而模拟用户通过操作键盘来控制目标内网计算机,以实现远程控制。
具体可以在指令白名单中查找目标内网计算机对于该外网客户端110发起的远程控制指令的执行权限,以精细化确认内网计算机130对于不同外网客户端110所发起的不同远程控制指令的执行权限,即表示不同的外网客户端110对于不同内网计算机130的远程控制指令可能会有不同的执行权限,内网计算机130仅执行有权的远程控制指令,从而可以限制外网客户端110的远程操作权限,而前述的客户端白名单和指令白名单具体可以由内网管理系统来进行精细化权限设置,从而进一步提高内网计算机130被远程控制的安全性。
在一个实施例中,如图8所示,所述通过所述连接通道将所述远程控制指令的执行结果发送至所述公网服务器120,包括:
步骤S3501,按照所述通道连接请求和所述请求响应数据协商一致的预设加密方式,对所述伪终端程序执行解密后所述远程控制指令的执行结果进行加密处理,得到加密后的所述执行结果;
步骤S3502,利用伪终端程序将加密后的所述执行结果通过所述连接通道发送所述公网服务器120。
具体的,在目标内网计算机和公网服务器120之间进行加密传输的情况下,目标内网计算机将执行结果发送至公网服务器120之前,同样需要按照通道连接请求与请求响应数据协商一致的预设加密方式,对执行结果进行加密得到加密后的执行结果,之后利用目标内网计算机中的伪终端程序将加密后的执行结果通过连接通道输出至公网服务器120,公网服务器120通过读取目标内网计算机的伪终端程序的输出来获取加密后的执行结果,而公网服务器120对该加密后的执行结果进行解密后传输至外网客户端110,在外网客户端110上进行执行结果的展示,从而实现执行结果实时回显。
基于上述方法,由于连接通道是内网计算机130按需主动发起,所以没有任何被攻击的途径,且为了确保安全性,公网服务器120与内网计算机130之间的双方通信使用加密通信,具体可以为SSL加密通信,以及鉴权认证机制,可以防止任何未经授权的外网客户端110的访问、劫持或嗅探。
图2-8为一个实施例中计算机远程控制方法的流程示意图。应该理解的是,虽然图2-8的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-8中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
如图9所示,本申请实施例提供了一种计算机设备,包括处理器711、通信接口712、存储器713和通信总线714,其中,处理器711,通信接口712,存储器713通过通信总线714完成相互间的通信;
存储器713,用于存放计算机程序;
处理器711,用于执行存储器713上所存放的程序时,实现前述任意一个方法实施例提供的计算机远程控制方法。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的计算机远程控制系统可以实现为一种计算机程序的形式,计算机程序可在如图9所示的计算机设备上运行。计算机设备的存储器中可存储组成该计算机远程控制系统的各个程序模块。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的计算机远程控制方法中的步骤。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述任意一个方法实施例提供的计算机远程控制方法的步骤。
以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
应理解的是,文中使用的术语仅出于描述特定示例实施方式的目的,而无意于进行限制。除非上下文另外明确地指出,否则如文中使用的单数形式“一”、“一个”以及“所述”也可以表示包括复数形式。术语“包括”、“包含”、“含有”以及“具有”是包含性的,并且因此指明所陈述的特征、步骤、操作、元件和/或部件的存在,但并不排除存在或者添加一个或多个其它特征、步骤、操作、元件、部件、和/或它们的组合。文中描述的方法步骤、过程、以及操作不解释为必须要求它们以所描述或说明的特定顺序执行,除非明确指出执行顺序。还应当理解,可以使用另外或者替代的步骤。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种计算机远程控制系统,其特征在于,所述系统包括:
外网客户端,用于向公网服务器发起针对目标内网计算机的远程控制请求和远程控制指令;且接收并展示所述公网服务器转发的所述远程控制指令对应的执行结果,其中,所述目标内网计算机为任意一个内网计算机;
所述目标内网计算机,用于定时向公网服务器发送控制询问请求以获取所述目标内网计算机对应的远程控制请求;并在获取到所述目标内网计算机对应的远程控制请求时建立与所述公网服务器之间的连接通道;并在成功建立所述连接通道的情况下,基于所述连接通道接收并执行所述公网服务器转发的所述远程控制指令;还基于所述连接通道发送所述远程控制指令的执行结果至所述公网服务器;
所述公网服务器,用于接收所述外网客户端发起的所述远程控制请求和所述远程控制指令,并在接收到所述目标内网计算机的控制询问请求时将所述远程控制请求转发至所述目标内网计算机;还在与所述目标内网计算机成功建立所述连接通道的情况下,基于所述连接通道将所述远程控制指令转发至所述目标内网计算机;在基于所述连接通道接收到所述远程控制指令对应的执行结果时,将所述执行结果转发至所述外网客户端。
2.一种计算机远程控制方法,其特征在于,应用于公网服务器,所述方法包括:
获取外网客户端针对目标内网计算机发起的远程控制请求和远程控制指令,其中,所述目标内网计算机为任意一个内网计算机;
在接收到所述目标内网计算机发送的控制询问请求时,将所述远程控制请求发送至所述目标内网计算机;
在接收到所述目标内网计算机发送的通道连接请求时,返回相应的请求响应数据至所述目标内网计算机,以建立与所述目标内网计算机之间的连接通道,其中,所述通道连接请求用于请求建立所述目标内网计算机与所述外网客户端之间的连接通道;
通过所述连接通道将所述远程控制指令发送至所述目标内网计算机;
基于所述连接通道接收到所述远程控制指令对应的执行结果时,将所述执行结果转发至所述外网客户端进行可视化展示。
3.根据权利要求2所述的方法,其特征在于,所述通过所述连接通道将所述远程控制指令发送至所述目标内网计算机,包括:
按照所述通道连接请求和所述请求响应数据协商一致的预设加密方式对所述远程控制指令进行加密处理,得到加密后的所述远程控制指令;
通过所述连接通道将加密后的所述远程控制指令发送至所述目标内网计算机。
4.根据权利要求2所述的方法,其特征在于,基于所述连接通道接收到所述远程控制指令对应的执行结果时,将所述执行结果转发至所述外网客户端进行可视化展示,包括:
基于所述连接通道接收到所述远程控制指令对应的经过加密后的执行结果时,按照所述通道连接请求和所述请求响应数据协商一致的预设解密方式对经过加密后的所述执行结果进行解密处理,得到解密后的所述执行结果;
将解密后的所述执行结果发送至所述外网客户端进行可视化展示。
5.一种计算机远程控制方法,其特征在于,应用于内网计算机,所述方法包括:
按照预设周期定时向公网服务器发送控制询问请求,其中,所述控制询问请求用于请求获取目标内网计算机对应的远程控制请求,所述目标内网计算机为任意一个内网计算机;
在接收到所述公网服务器发送的与所述目标内网计算机对应的远程控制请求时,发送通道连接请求至所述公网服务器,其中,所述通道连接请求用于建立所述目标内网计算机与所述公网服务器之间的连接通道;
在接收到所述公网服务器发送的与所述通道连接请求相对应的请求响应数据时,基于所述请求响应数据建立与所述公网服务器之间的所述连接通道;
基于所述连接通道接收到所述公网服务器发送的远程控制指令时,执行所述远程控制指令;
通过所述连接通道将所述远程控制指令的执行结果发送至所述公网服务器。
6.根据权利要求5所述的方法,其特征在于,所述在接收到所述公网服务器发送的与所述目标内网计算机对应的远程控制请求时,发送通道连接请求至所述公网服务器,包括:
在接收到所述公网服务器发送的与所述目标内网计算机对应的远程控制请求时,对所述远程控制请求对应的外网客户端进行鉴权处理,得到所述外网客户端的控制权限;
在所述控制权限为有权时,发送通道连接请求至所述公网服务器。
7.根据权利要求5所述的方法,其特征在于,所述基于所述连接通道接收到所述公网服务器发送的远程控制指令时,执行所述远程控制指令,包括:
利用伪终端程序接收到所述公网服务器通过所述连接通道接发送的经过加密处理的远程控制指令时,按照所述通道连接请求和所述请求响应数据协商一致的预设解密方式,对经过加密处理的所述远程控制指令进行解密处理,得到解密后的所述远程控制指令;
在解密后的所述远程控制指令的执行权限为有权时,执行解密后的所述远程控制指令。
8.根据权利要求7所述的方法,其特征在于,所述通过所述连接通道将所述远程控制指令的执行结果发送至所述公网服务器,包括:
按照所述通道连接请求和所述请求响应数据协商一致的预设加密方式,对所述伪终端程序执行解密后所述远程控制指令的执行结果进行加密处理,得到加密后的所述执行结果;
利用伪终端程序将加密后的所述执行结果通过所述连接通道发送所述公网服务器。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求2至8中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求2至8中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311268334.2A CN117319466A (zh) | 2023-09-27 | 2023-09-27 | 计算机远程控制方法、系统、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311268334.2A CN117319466A (zh) | 2023-09-27 | 2023-09-27 | 计算机远程控制方法、系统、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117319466A true CN117319466A (zh) | 2023-12-29 |
Family
ID=89296731
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311268334.2A Pending CN117319466A (zh) | 2023-09-27 | 2023-09-27 | 计算机远程控制方法、系统、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117319466A (zh) |
-
2023
- 2023-09-27 CN CN202311268334.2A patent/CN117319466A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3155761B1 (en) | Systems and methods for secure communication over a network using a linking address | |
CN111428225A (zh) | 数据交互方法、装置、计算机设备及存储介质 | |
CN107113319B (zh) | 一种虚拟网络计算认证中应答的方法、装置、系统和代理服务器 | |
CN110870277A (zh) | 将中间盒引入到客户端与服务器之间的安全通信中 | |
Lera et al. | Cybersecurity in autonomous systems: Evaluating the performance of hardening ROS | |
CN110741614B (zh) | 数据通信系统和方法 | |
JP2016510196A (ja) | 安全なネットワーク通信 | |
US10560433B2 (en) | Vertical cloud service | |
US10855846B1 (en) | Encrypting multiple party calls | |
CN111064742B (zh) | 一种基于网络代理实现内网访问的方法、装置及相关设备 | |
CN113992427B (zh) | 基于相邻节点的数据加密发送方法及装置 | |
CN114938312A (zh) | 一种数据传输方法和装置 | |
CN110690967A (zh) | 一种不依赖于服务端安全的即时通信密钥确立方法 | |
CN114173328A (zh) | 密钥交换方法、装置、电子设备 | |
CN112511892B (zh) | 屏幕共享方法、装置、服务器及存储介质 | |
US20230108261A1 (en) | Management, diagnostics, and security for network communications | |
CN117319466A (zh) | 计算机远程控制方法、系统、计算机设备和存储介质 | |
JP4775154B2 (ja) | 通信システム、端末装置、プログラム、及び、通信方法 | |
CN114374454A (zh) | 一种基于ssh的应急广播设备远程维护方法、设备及介质 | |
CN111988282B (zh) | 基于tcp的数据传输系统、方法、电子设备及介质 | |
CN114902635A (zh) | 一种流量代理方法、装置、电子设备及存储介质 | |
CN113691510A (zh) | 一种跨域访问控制方法、系统、存储介质及设备 | |
CN110719309B (zh) | 虚拟桌面连接方法、代理装置、系统、设备及存储介质 | |
KR101657893B1 (ko) | 클라우드 서비스를 위한 암호화 방법 및 사용자 장치에 기반한 암호화 방법을 제공하는 클라우드 시스템 | |
KR101730405B1 (ko) | 네트워크 경로를 관리하는 방법 및 이를 수행하는 네트워크 엔티티 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |