CN114629889A - 远程控制链接的建立方法、装置、设备及介质 - Google Patents
远程控制链接的建立方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN114629889A CN114629889A CN202210251222.5A CN202210251222A CN114629889A CN 114629889 A CN114629889 A CN 114629889A CN 202210251222 A CN202210251222 A CN 202210251222A CN 114629889 A CN114629889 A CN 114629889A
- Authority
- CN
- China
- Prior art keywords
- connection
- ssh
- equipment
- connection request
- response message
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 230000004044 response Effects 0.000 claims abstract description 80
- 238000004891 communication Methods 0.000 claims abstract description 78
- 238000004590 computer program Methods 0.000 claims description 7
- 230000005641 tunneling Effects 0.000 claims 1
- 230000006870 function Effects 0.000 abstract description 25
- 238000010586 diagram Methods 0.000 description 6
- 238000011161 development Methods 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000003032 molecular docking Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
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/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
Abstract
本公开涉及一种远程控制链接的建立方法、装置、设备及介质。其中,该方法包括:第一设备建立与第二设备之间的通信连接;基于所述通信连接,向所述第二设备发送所述SSH客户端的第一连接请求,使得所述第二设备中的所述SSH服务基于所述第一连接请求,将所述SSH客户端链接到所述shell程序;接收所述第二设备基于所述第一连接请求反馈的第一连接响应消息。本公开实施例,可以利用SSH协议,通过SSH客户端和SSH服务实现远程控制,不仅能够减少用户在远程服务框架中构建远程控制功能的工作量,还能够进一步扩展远程服务的相关功能。
Description
技术领域
本公开涉及网络与基础架构领域,尤其涉及一种远程控制链接的建立方法、装置、设备及介质。
背景技术
C2(Command and control)指中心化的控制节点,C2服务器可以接收来自被控设备的网络连接,通过该连接发送指令并接收执行结果,达到安全可靠的控制目的;shell是指基于命令行的用户界面程序,远程shell功能可以用于将其输入输出对接到C2端的终端设备,从而在交互式shell中实现对终端设备远程控制。
在主流C2框架中远程Shell功能是基于该框架自行开发实现的,开发者需要基于C2框架编写相应的网络通信、Shell对接以及终端模拟器等代码,进而去实现远程Shell功能。这种方式,需要在C2框架中构建繁琐的远程Shell功能,操作较为繁琐,并且这种方式实现的远程Shell功能只能在其产品中使用,无法使用其他终端连接,外部扩展性较差。
发明内容
为了解决上述技术问题,本公开提供了一种远程控制链接的建立方法、装置、设备及介质。
第一方面,本公开提供了一种远程控制链接的建立方法,包括:
第一设备建立与第二设备之间的通信连接,第一设备中搭载有SSH客户端,第二设备中搭载有SSH服务和shell程序;
基于通信连接,向第二设备发送SSH客户端的第一连接请求,使得第二设备中的SSH服务基于第一连接请求,将SSH客户端链接到shell程序;
接收第二设备基于第一连接请求反馈的第一连接响应消息。
第二方面,本公开提供了一种远程控制链接的建立方法,包括:
第二设备建立与第一设备的通信连接,第一设备中搭载有SSH客户端,第二设备中搭载有SSH服务和shell程序;
接收第一设备中的SSH客户端发送的第一连接请求,将第一连接请求转发给SSH服务,以使SSH服务将SSH客户端链接到shell程序;
向第一设备发送第一连接请求的第一连接响应消息。
第三方面,本公开提供了一种远程控制链接的建立装置,包括:
通信连接建立模块,用于第一设备建立与第二设备之间的通信连接,所述第一设备中搭载有SSH客户端,所述第二设备中搭载有SSH服务和shell程序;
第一连接请求发送模块,用于基于所述通信连接,向所述第二设备发送所述SSH客户端的第一连接请求,使得所述第二设备中的所述SSH服务基于所述第一连接请求,将所述SSH客户端链接到所述shell程序;
第一连接响应信息接收模块,用于接收所述第二设备基于所述第一连接请求反馈的第一连接响应消息。
第四方面,本公开提供了一种远程控制链接的建立装置,包括:
通信连接建立模块,用于第二设备建立与第一设备的通信连接,第一设备中搭载有SSH客户端,第二设备中搭载有SSH服务和shell程序;
第一连接请求接收模块,用于基于通信连接,向第二设备发送SSH客户端的第一连接请求,使得第二设备中的SSH服务基于第一连接请求,将SSH客户端链接到shell程序;
第一连接响应信息发送模块,用于向第一设备发送第一连接请求的第一连接响应消息。
第五方面,本公开提供了一种远程控制链接的建立设备,包括:
处理器;
存储器,用于存储可执行指令;
其中,处理器用于从存储器中读取可执行指令,并执行可执行指令以实现第一方面的远程控制链接的建立方法。
第六方面,本公开提供了一种计算机可读存储介质,该存储介质存储有计算机程序,当计算机程序被处理器执行时,使得处理器实现第一方面的远程控制链接的建立方法。
本公开实施例提供的技术方案与现有技术相比具有如下优点:
本公开实施例的远程控制链接的建立方法、装置、设备及介质,能够在第一设备与第二设备之间建立通信连接,基于通信连接,向第二设备发送SSH客户端的第一连接请求,使得第二设备中的SSH服务基于第一连接请求,将SSH客户端链接到shell程序,并接收第二设备基于第一连接请求反馈的第一连接响应消息,由此,本方案能够基于SSH协议库根据需求编写一个自定义SSH服务,即可使用SSH客户端远程连接C2转发的SSH服务,不需要在C2框架下针对不同需求和产品开发不同的功能模块,省去了对通信模块和终端模块繁琐的开发工作,减少了用户在C2框架中构建远程shell功能的工作量,并且用户也可以使用任意兼容SSH协议的客户端对接远程shell程序,提高了远程Shell功能的可扩展性。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
图1示出了本公开实施例提供的一种远程控制链接建立方法的流程示意图;
图2示出了本公开实施例提供的又一种远程控制链接建立方法的流程示意图;
图3示出了本公开实施例提供的一种远程控制链接建立装置的结构示意图;
图4示出了本公开实施例提供的又一种远程控制链接建立装置的结构示意图;
图5示出了本公开实施例提供的一种远程控制链接建立设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
本公开实施例提供了一种远程控制链接的建立方法、装置、设备及介质。
下面首先结合示例性的实施例对本公开实施例提供的远程控制链接的建立方法进行说明。
图1示出了本公开实施例提供的一种远程控制链接的建立方法的流程示意图。
在本公开实施例中,该远程控制链接的建立方法可以由搭载有SSH客户端的计算机设备执行(为了便于区分下述实施例中将搭载有SSH客户端的设备示例性的称为第一设备)。第一设备可以包括但不限于诸如笔记本电脑、手机等移动终端设备以及诸如台式计算机、服务器等固定终端设备。
如图1所示,该远程控制链接的建立方法可以包括如下步骤。
S110、第一设备建立与第二设备之间的通信连接,第一设备中搭载有SSH客户端,第二设备中搭载有SSH服务和shell程序。
在本公开实施例的一种实施方式中,第一设备可以理解为用于进行远程控制的设备,第一设备可以理解为搭载有SSH客户端的C2服务器,在这种情况下,第一设备和C2服务器可以理解为同一设备。在其他实施方式中第一设备也可以理解为搭载有SSH客户端的用户设备,比如手机、电脑等,在这种情况下用户设备和C2服务器可以理解为两个独立的设备。第二设备可以理解为被进行远程控制的被控终端设备。SSH(Secure Shell)是一个开放的安全通信协议,在第一设备中搭载的SSH客户端可以理解为基于SSH协议实现的客户端程序,用于与SSH服务进行对接。第二设备中搭载的SSH服务可以为根据SSH协议扩展库实现的服务,用于启动第二设备上的shell程序,并可以对第二设备上的本地端口进行监听。第二设备中搭载的shell程序可以接收远端设备(在本公开实施例中被具体为第一设备)的指令对第二设备的应用程序进行控制和操作。
在本公开的一些实施例中,第一设备建立与第二设备之间的通信连接的方法可以包括:
S111、第一设备向所第二设备发送第二连接请求,第二连接请求中包括第一设备上的第一端口的信息。
在本公开实施例中,第二连接请求可以为基于C2服务框架,第一设备向第二设备发送的连接建立请求指令,其中,该连接建立请求指令中包含第一设备上的第一端口信息,该第一端口可以为第一设备分配与第二设备进行连接的一个可正常使用的端口,即第二连接请求中包含有该第一端口信息。
具体地,在进行远程控制之前,第一设备向第二设备发送第二连接请求,其中第二连接请求中包含有第一设备中用于建立连接的第一端口的端口信息,基于C2服务框架本身的通信连接隧道,第二连接请求通过该通信连接隧道发送至第二设备。
S112、接收第二设备发送的第二连接响应消息,第二连接响应消息中包括第二设备上的第二端口信息。
在本公开实施例中,第二连接响应消息可以为在第二设备接收到第二连接请求后,向第一设备发送成功接收到第二连接请求后的响应消息,其中,第二连接响应消息中包含有第二设备上的第二端口信息,该第二端接口可以为第二设备中用于与第一设备建立通信连接的端口,即第二连接响应消息中包含有该端口信息。
具体地,在第二设备接收到第一设备发送给的第二连接请求后,同时第二设备也接收到第一设备中需要进行通信连接的第一端口信息,进一步地,第二设备将成功接收到第二连接请求的第二连接响应消息通过C2服务框架的通信隧道发送至第一设备,并包含第二设备中需进行通信连接的第二端口信息。
S113、基于第二端口的信息,建立第一端口与第二端口之间的通信连接。
在本公开实施例中,当第一设备接收到第二连接响应消息时,同时获取到第二设备中的第二端口信息,基于C2服务框架的端口转发功能,建立第一端口与第二端口之间的映射关系,其中C2服务框架的端口转发功能属于C2框架本身的常见功能,用于C2服务框架与终端设备之间建立通信连接,根据C2框架本身的通信隧道建立的通信连接只用于传输指令消息。
S120、基于通信连接,向第二设备发送SSH客户端的第一连接请求,使得第二设备中的SSH服务基于第一连接请求,将SSH客户端链接到shell程序。
在公开实施例中,在建立通信连接后,第一设备向第二设备发送SSH客户端的第一连接请求,其中该通信连接用于SSH服务与SSH客户端进行对接并进行数据传输。
具体地,基于C2服务框架建立第一端口与第二端口的端口映射关系,第二设备中第二端口完成与第一设备中第一端口的通信连接,进一步地,当SSH客户端的第一连接请求通过第一端口发送至第二端口时,监听第二端口的SSH服务也就接收到了该连接请求,通过启动shell程序,将shell程序与SSH客户端进行对接,即可实现SSH客户端对shell程序进行管理和调用,也就是说SSH服务可对shell程序进行管理和调用,并将shell程序与SSH客户端进行对接。
在本公开一些实施例中,SSH服务在接收到第一连接请求之后,与SSH客户端建立连接关系,并将SSH客户端连接到shell程序。其中,SSH服务在与SSH客户端建立连接之前,也可以先基于第一连接请求中携带的验证信息对第一连接请求进行验证,当通过验证时,SSH服务与SSH客户端建立连接关系,并将SSH客户端连接到shell程序;当验证不通过时,SSH服务则不能与SSH客户端建立连接关系。或者,在其他实施例中,第一连接请求中也还可以不包括验证信息,SSH服务还可以无需验证直接与SSH客户端进行连接。
当第一连接请求中包含有验证信息时,在本公开的一些实施例中,第一连接请求中可以包含SSH客户端与SSH服务建立连接的账号密码,通过SSH服务验证该账号密码,如果验证通过,则SSH服务对接到SSH客户端上,如果验证不通过,则SSH服务不能对接到SSH客户端上。当验证通过时,进一步地,SSH服务启动第二设备上的shell程序,并将SSH客户端对接到shell程序上,从而使得SSH客户端可以通过shell程序对第二设备进行远程控制。
在本公开的另一些实施例中,第一连接请求中还可以包含SSH客户端与SSH服务建立连接的密钥,通过SSH服务验证该密钥,如果密钥验证匹配,则SSH服务对接到SSH客户端上,如果密钥验证不匹配,则SSH服务不能对接到SSH客户端上。当密钥验证匹配时,进一步地,SSH服务启动第二设备上的shell程序,并将SSH客户端对接到shell程序上,从而使得SSH客户端可以通过shell程序对第二设备进行远程控制。SSH服务与SSH客户端的连接方式通过SSH协议本身的功能实现,或者其他验证方式,在此不做限定。
当第一连接请求中不包含有验证信息时,基于该第一连接请求,SSH服务可以与SSH客户端直接进行连接,并将SSH客户端对接到shell程序上,从而使得SSH客户端可以通过shell程序对第二设备进行远程控制。
S130、接收第二设备基于第一连接请求反馈的第一连接响应消息。
在本公开实施例中,第二设备在完成SSH客户端与shell程序的对接之后,向第一设备反馈连接成功的第一连接响应消息,或者在SSH客户端与shell程序对接失败时,向第一设备反馈对接失败的响应消息。
在本公开一些实施例中,接收所述第二设备基于所述第一连接请求反馈的第一连接响应消息之后,还包括:
S131、在第一连接响应消息为连接成功的响应消息时,第一设备接收SSH客户端的控制数据。
S132、将控制数据发送给第二设备,以使第二设备中的SSH服务将控制数据转发给shell程序。
在本公开实施例中,在第一设备接收到第一连接响应消息中连接成功的消息时,第一设备认为此时可以对第二设备进行远程控制,则可以向SSH客户端发送触发消息,用于通知SSH客户端可以开始进行远程控制,SSH客户端在接收到触发消息后,可以将控制数据发送第一设备,使得第一设备通过预先建立的通信链接将控制数据发送给第二设备,由第二设备中的SSH服务将控制数据转发给shell程序,从而实现远程控制。
在本公开实施例中,能够在第一设备与第二设备之间建立通信连接,基于通信连接,向第二设备发送SSH客户端的第一连接请求,使得第二设备中的SSH服务基于第一连接请求,将SSH客户端链接到shell程序,并接收第二设备基于第一连接请求反馈的第一连接响应消息,由此,本方案能够基于SSH协议库根据需求编写一个自定义SSH服务,即可使用SSH客户端远程连接C2转发的SSH服务,不需要在C2框架下针对不同需求和产品开发不同的功能模块,省去了对通信模块和终端模块繁琐的开发工作,减少了用户在C2框架中构建远程shell功能的工作量,并且用户也可以使用任意兼容SSH协议的客户端对接远程shell程序,提高了远程Shell功能的可扩展性。
下面结合又一个具体实施例来对远程控制链接的建立方法进行详细说明。
图2示出了本公开实施例提供的另一种远程控制链接的建立方法的流程示意图。
在本公开实施例中,该远程控制链接的建立方法可以由搭载有SSH服务和shell程序的计算机设备执行(为了便于区分下述实施例中将搭载有SSH服务和shell程序的设备示例性的成为第二设备)上。第二设备可以包括但不限于诸如笔记本电脑等移动终端设备以及诸如台式计算机等固定终端设备。
如图2所示,该远程控制链接的建立方法可以包括如下步骤。
S210、第二设备建立与第一设备的通信连接,第一设备中搭载有SSH客户端,第二设备中搭载有SSH服务和shell程序。
在本公开实施例中,第一设备、第二设备、SSH客户端、SSH服务和shell程序可以参照图1实施例进行理解,在此不再赘述。
在本公开的一些实施例中,第二设备建立与第一设备的通信连接,包括:
S211、第二设备接收第一设备发送的第二连接请求,第二连接请求中包括第一设备上的第一端口的信息
在本公开实施例中,第二连接请求可以为基于C2服务框架,第一设备向第二设备发送的连接建立请求指令,其中,该连接建立请求指令中包含第一设备上的第一端口信息,该第一端口可以为第一设备分配与第二设备进行连接的端口,即第二连接请求中包含有该第一端口信息。
具体地,在进行远程控制之前,第一设备发送第二连接请求,其中第二连接请求中包含有第一设备中用于建立连接第一端口的端口信息,基于C2服务框架本身的通信连接隧道,第二设备接收第一设备发送的第二连接请求。
S212、向第一设备发送第二连接响应消息,第二连接响应消息中包括第二设备上的第二端口的信息,以使第一设备基于第二端口的信息建立第一端口与第二端口之间的通信连接。
在本公开实施例中,第二连接响应消息可以为在第二设备接收到第二连接请求后,向第一设备在成功接收到第二连接请求后发送的响应消息,其中,第二连接响应消息中包含有第二设备上的第二端口信息,该第二端接口可以为第二设备用于与第一设备建立通信连接的端口,即第二连接响应消息中包含有该端口信息。
具体地,在第二设备接收到第一设备发送给的第二连接请求后,同时第二设备也接收到第一设备中需要进行通信连接的第一端口信息,进一步地,第二设备将成功接收到第二连接请求的第二连接响应消息通过C2服务框架的通信隧道发送至第一设备,并包含第二设备中需进行通信连接的第二端口信息,第一设备接收到第二连接响应消息后,同时也接收到第二连接响应消息中包含的第二端口信息,基于第一端口与第二端口,利用C2服务框架的端口转发功能,实现建立第一端口与第二端口之间的通信连接。
S220、接收第一设备中的SSH客户端发送的第一连接请求,将第一连接请求转发给SSH服务,以使SSH服务将SSH客户端链接到shell程序。
在本公开实施例中,在在建立通信连接后,第二设备接收第一设备中的SSH客户端通过第一设备发送的第一连接请求,第一连接请求用于将SSH服务与SSH客户端进行对接,并使得SSH服务将SSH客户端链接到shell程序。
具体地,基于C2服务框架建立第一端口与第二端口的端口映射关系,第二设备中第二端口完成与第一设备中第一端口的通信连接,进一步地,当第二设备接收到第一设备的SSH客户端发送的第一连接请求后,将第一连接请求转发给SSH服务,通过SSH服务启动shell程序,将shell程序与SSH客户端进行对接,即可实现SSH客户端对shell程序的管理和调用,也就是说SSH服务可对shell程序进行管理和调用,并将shell程序与SSH客户端进行对接。
S230、向第一设备发送第一连接请求的第一连接响应消息。
在本公开实施例中,第二设备在完成SSH客户端与shell程序的对接之后,向第一设备反馈连接成功的第一连接响应消息,或者在SSH客户端与shell程序对接失败时,向第一设备反馈对接失败的响应消息。
具体地,在第二设备与第一设备已建立通信连接后,当第二设备上的shell程序对接到第一设备的SSH客户端,第二设备此时认为可以被第一设备进行远程控制,因此第二设备反馈连接成功的第一连接响应消息,并将第一连接响应消息发送给第一设备,由第一设备接收该第一连接响应消息;当第二设备上的shell程序没有对接到第一设备的SSH客户端时,此时第二设备认为不可以被第一设备进行远程控制,因此第二设备反馈连接失败的响应消息,并向第一设备发送该连接失败的响应消息。
在本公开一些实施例中,在第一连接响应消息为链接成功的响应消息时,向第一设备发送第一连接请求的第一连接响应消息之后,还包括:
S231、接收第一设备发送的控制数据。
S232、将控制数据转发给SSH服务,以使SSH服务将控制数据转发给shell程序。
在本公开实施例中,在第一设备接收到第一连接响应消息中连接成功的消息时,第一设备认为此时可以对第二设备进行远程控制,使得第二设备通过预先建立的通信连接接收第一设备发送的控制数据,第二设备将接收的控制数据转发给SSH服务,并由SSH服务将控制数据转发给shell程序,从而实现远程控制。
在本公开实施例中,能够在第二设备与第一设备之间建立通信连接,基于通信连接,第二设备接收第一设备中的SSH客户端发送的第一连接请求,将第一连接请求转发给SSH服务,以使SSH服务将SSH客户端连接到shell程序,并向第一设备发送第一连接请求的第一连接响应消息,由此,本方案能够基于SSH协议库根据需求编写一个自定义SSH服务,即可使用SSH客户端远程连接C2转发的SSH服务,不需要在C2框架下针对不同需求和产品开发不同的功能模块,省去了对通信模块和终端模块繁琐的开发工作,减少了用户在C2框架中构建远程shell功能的工作量,并且用户也可以使用任意兼容SSH协议的客户端对接远程shell程序,提高了远程Shell功能的可扩展性。
图3示出了本公开实施例提供的一种远程控制链接的建立装置的结构示意图。
在本公开实施例中,该远程控制链接的建立装置可以运行于电子设备上,电子设备可以包括但不限于诸如笔记本电脑等的移动终端设备以及诸如台式计算机等的固定终端设备。
如图3所示,该远程控制链接的建立装置300可以包括通信连接建立模块310、连接请求发送模块320和连接响应信息接收模块330。
该通信连接建立模块310可以用于第一设备建立与第二设备之间的通信连接,第一设备中搭载有SSH客户端,第二设备中搭载有SSH服务和shell程序。
该连接请求发送模块320可以用于基于通信连接,向第二设备发送SSH客户端的第一连接请求,使得第二设备中的SSH服务基于第一连接请求,将SSH客户端链接到shell程序。
该连接响应信息接收模块330可以用于接收第二设备基于第一连接请求反馈的第一连接响应消息。
在本公开实施例中,能够在第一设备与第二设备之间建立通信连接,基于通信连接,向第二设备发送SSH客户端的第一连接请求,使得第二设备中的SSH服务基于第一连接请求,将SSH客户端链接到shell程序,并接收第二设备基于第一连接请求反馈的第一连接响应消息,由此,本方案能够基于SSH协议库根据需求编写一个自定义SSH服务,即可使用SSH客户端远程连接C2转发的SSH服务,不需要在C2进行远程shell操作,省去了对通信模块和终端模块繁琐的开发工作,减少了用户在C2框架中构建远程shell功能的工作量,并且用户也可以使用任意兼容SSH协议的客户端对接远程shell程序,进一步扩展SSH服务的功能。
在本公开一些实施例中,该通信连接建立模块310、连接请求发送模块320和连接响应信息接收模块330,还包括:
该连接请求发送模块320还可以用于第一设备向第二设备发送第二连接请求,第二连接请求中包括第一设备上的第一端口的信息。
该连接响应消息接收模块330可以用于接收第二设备发送的第二连接响应消息,第二连接响应消息中包括第二设备上的第二端口的信息。
该通信连接建立模块310还可以用于基于第二端口的信息,建立第一端口与第二端口之间的通信连接。
在本公开一些实施例中,该远程控制链接的建立装置300还可以包括数据接收模块和数据发送模块。
该数据接收模块可以用于在响应消息为链接成功的响应消息时,接收SSH客户端的控制数据。
该数据发送模块可以用于将控制数据发送给第二设备,以使第二设备中的SSH服务将控制数据转发给shell程序。
图4示出了本公开实施例提供的又一种远程控制链接的建立装置的结构示意图。
在本公开实施例中,该远程控制链接的建立装置可以运行于电子设备上,电子设备可以包括但不限于诸如笔记本电脑等的移动终端设备以及诸如台式计算机等的固定终端设备。
如图4所示,该远程控制链接的建立装置400还可以包括通信连接建立模块410、连接请求接收模块420和连接响应信息发送模块430。
该通信连接建立模块410可以用于第二设备建立与第一设备的通信连接,第一设备中搭载有SSH客户端,第二设备中搭载有SSH服务和shell程序。
该连接请求接收模块420可以用于接收第一设备中的SSH客户端发送的第一连接请求,将第一连接请求转发给SSH服务,以使SSH服务将SSH客户端链接到shell程序。
该连接响应消息发送模块430可以用于向第一设备发送第一连接请求的第一连接响应消息。
在本公开一些实施例中,连接请求接收模块420和连接响应消息发送模块430,还包括:
该连接请求接收模块420还可以用于第二设备接收第一设备发送的第二连接请求,第二连接请求中包括第一设备上的第一端口的信息。
该连接响应消息发送模块430还可以用于向第一设备发送第二连接响应消息,第二连接响应消息中包括第二设备上的第二端口的信息,以使第一设备基于第二端口的信息建立第一端口与第二端口之间的通信连接。
在本公开一些实施例中,该远程控制链接的建立装置400还可以包括数据接收模块和数据转发模块。
该数据接收模块可以用于接收第一设备发送的控制数据。
该数据转发模块可以用于将控制数据转发给SSH服务,以使SSH服务将控制数据转发给shell程序。
需要说明的是,图3所示的远程控制链接的建立装置300可以执行图1所示的方法实施例中的各个步骤,图4所示的远程控制链接的建立装置400可以执行图2所示的方法实施例中的各个步骤,并且实现图1和图2所示的方法实施例中的各个过程和效果,在此不做赘述。
图5示出了本公开实施例提供的一种远程控制链接的建立设备的结构示意图。
在本公开实施例中,该远程控制链接的建立设备可以为电子设备,电子设备上可以运行有客户端。电子设备可以包括但不限于诸如笔记本电脑等等的移动终端以及诸如台式计算机等等的固定终端。
如图5所示,该远程控制链接的建立装置可以包括处理器501以及存储有计算机程序指令的存储器502。
具体地,上述处理器501可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
存储器502可以包括用于信息或指令的大容量存储器。举例来说而非限制,存储器502可以包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个及其以上这些的组合。在合适的情况下,存储器502可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器502可在综合网关设备的内部或外部。在特定实施例中,存储器502是非易失性固态存储器。在特定实施例中,存储器502包括只读存储器(Read-Only Memory,ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(Programmable ROM,PROM)、可擦除PROM(Electrical Programmable ROM,EPROM)、电可擦除PROM(Electrically ErasableProgrammable ROM,EEPROM)、电可改写ROM(Electrically Alterable ROM,EAROM)或闪存,或者两个或及其以上这些的组合。
处理器501通过读取并执行存储器502中存储的计算机程序指令,以执行本公开实施例所提供的远程控制链接的建立方法的步骤。
在一个示例中,该远程控制链接的建立设备还可包括收发器503和总线504。其中,如图5所示,处理器501、存储器502和收发器503通过总线504连接并完成相互间的通信。
总线504包括硬件、软件或两者。举例来说而非限制,总线可包括加速图形端口(Accelerated Graphics Port,AGP)或其他图形总线、增强工业标准架构(ExtendedIndustry Standard Architecture,EISA)总线、前端总线(Front Side BUS,FSB)、超传输(Hyper Transport,HT)互连、工业标准架构(Industrial Standard Architecture,ISA)总线、无限带宽互连、低引脚数(Low Pin Count,LPC)总线、存储器总线、微信道架构(MicroChannel Architecture,MCA)总线、外围控件互连(Peripheral Component Interconnect,PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(Serial Advanced TechnologyAttachment,SATA)总线、视频电子标准协会局部(Video Electronics StandardsAssociation Local Bus,VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线504可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
本公开实施例还提供了一种计算机可读存储介质,该存储介质可以存储有计算机程序,当计算机程序被处理器执行时,使得处理器实现本公开实施例所提供的远程控制链接的建立方法。
上述的存储介质可以例如包括计算机程序指令的存储器502,上述指令可由远程控制链接的建立设备的处理器501执行以完成本公开实施例所提供的远程控制链接的建立方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(Random Access Memory,RAM)、光盘只读存储器(Compact DiscROM,CD-ROM)、磁带、软盘和光数据存储设备等。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种远程控制链接的建立方法,其特征在于,所述方法包括:
第一设备建立与第二设备之间的通信连接,所述第一设备中搭载有SSH客户端,所述第二设备中搭载有SSH服务和shell程序;
基于所述通信连接,向所述第二设备发送所述SSH客户端的第一连接请求,使得所述第二设备中的所述SSH服务基于所述第一连接请求,将所述SSH客户端链接到所述shell程序;
接收所述第二设备基于所述第一连接请求反馈的第一连接响应消息。
2.根据权利要求1所述的方法,其特征在于,所述第一设备建立与第二设备之间的通信连接,包括:
所述第一设备向所述第二设备发送第二连接请求,所述第二连接请求中包括所述第一设备上的第一端口的信息;
接收所述第二设备发送的第二连接响应消息,所述第二连接响应消息中包括所述第二设备上的第二端口的信息;
基于所述第二端口的信息,建立所述第一端口与所述第二端口之间的通信连接。
3.根据权利要求1所述的方法,其特征在于,所述接收所述第二设备基于所述第一连接请求反馈的第一连接响应消息之后,所述方法还包括:
在所述第一连接响应消息为链接成功的响应消息时,接收所述SSH客户端的控制数据;
将所述控制数据发送给所述第二设备,以使所述第二设备中的SSH服务将所述控制数据转发给所述shell程序。
4.一种远程控制链接的建立方法,其特征在于,所述方法包括:
第二设备建立与所述第一设备的通信连接,所述第一设备中搭载有SSH客户端,所述第二设备中搭载有SSH服务和shell程序;
接收所述第一设备中的SSH客户端发送的第一连接请求,将所述第一连接请求转发给所述SSH服务,以使所述SSH服务将所述SSH客户端链接到所述shell程序;
向所述第一设备发送所述第一连接请求的第一连接响应消息。
5.根据权利要求4所述的方法,其特征在于,所述第二设备建立与所述第一设备的通信连接,包括:
第二设备接收第一设备发送的第二连接请求,所述第二连接请求中包括所述第一设备上的第一端口的信息;
向所述第一设备发送第二连接响应消息,所述第二连接响应消息中包括所述第二设备上的第二端口的信息,以使所述第一设备基于所述第二端口的信息建立所述第一端口与所述第二端口之间的通信连接。
6.根据权利要求4所述的方法,其特征在于,在所述第一连接响应消息为链接成功的响应消息时,所述向所述第一设备发送所述第一连接请求的第一连接响应消息之后,所述方法还包括:
接收所述第一设备发送的控制数据;
将所述控制数据转发给所述SSH服务,以使所述SSH服务将所述控制数据转发给所述shell程序。
7.一种远程控制链接的建立装置,其特征在于,所述装置包括:
通信连接建立模块,用于第一设备建立与第二设备之间的通信连接,所述第一设备中搭载有SSH客户端,所述第二设备中搭载有SSH服务和shell程序;
第一连接请求发送模块,用于基于所述通信连接,向所述第二设备发送所述SSH客户端的第一连接请求,使得所述第二设备中的所述SSH服务基于所述第一连接请求,将所述SSH客户端链接到所述shell程序;
第一连接响应信息接收模块,用于接收所述第二设备基于所述第一连接请求反馈的第一连接响应消息。
8.一种远程控制链接的建立装置,其特征在于,所述装置包括:
通信连接建立模块,用于第二设备建立与所述第一设备的通信连接,所述第一设备中搭载有SSH客户端,所述第二设备中搭载有SSH服务和shell程序;
第一连接请求接收模块,用于基于所述通信连接,向所述第二设备发送所述SSH客户端的第一连接请求,使得所述第二设备中的所述SSH服务基于所述第一连接请求,将所述SSH客户端链接到所述shell程序;
第一连接响应信息发送模块,用于向所述第一设备发送所述第一连接请求的第一连接响应消息。
9.一种计算机设备,其特征在于,包括:
处理器;
存储器,用于存储可执行指令;
其中,所述处理器用于从所述存储器中读取所述可执行指令,并执行所述可执行指令以实现上述权利要求1-6中任一项所述的隧道通信方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,当所述计算机程序被处理器执行时,使得处理器实现上述权利要求1-6中任一项所述的远程控制链接的建立方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210251222.5A CN114629889B (zh) | 2022-03-15 | 2022-03-15 | 远程控制链接的建立方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210251222.5A CN114629889B (zh) | 2022-03-15 | 2022-03-15 | 远程控制链接的建立方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114629889A true CN114629889A (zh) | 2022-06-14 |
CN114629889B CN114629889B (zh) | 2024-03-15 |
Family
ID=81902701
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210251222.5A Active CN114629889B (zh) | 2022-03-15 | 2022-03-15 | 远程控制链接的建立方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114629889B (zh) |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103179104A (zh) * | 2011-12-23 | 2013-06-26 | 中国移动通信集团公司 | 一种远程服务的访问方法、系统及其设备 |
CN104243210A (zh) * | 2014-09-17 | 2014-12-24 | 湖北盛天网络技术股份有限公司 | 远程访问路由器管理页面的方法和系统 |
US20150295890A1 (en) * | 2014-04-15 | 2015-10-15 | Calix, Inc. | System and method for secure network communications |
CN105721511A (zh) * | 2016-05-05 | 2016-06-29 | 杭州晴山信息技术有限公司 | 一种移动终端的身份验证方法 |
CN107634951A (zh) * | 2017-09-22 | 2018-01-26 | 携程旅游网络技术(上海)有限公司 | Docker容器安全管理方法、系统、设备及存储介质 |
CN108667779A (zh) * | 2017-03-31 | 2018-10-16 | 华为技术有限公司 | 一种远程登录容器的方法及服务器 |
CN108965256A (zh) * | 2018-06-15 | 2018-12-07 | 四川斐讯全智信息技术有限公司 | 一种基于ssh反向隧道远程管理嵌入式设备的系统及方法 |
CN109561087A (zh) * | 2018-11-28 | 2019-04-02 | 南京中孚信息技术有限公司 | 防火墙穿透方法及系统 |
CN110808992A (zh) * | 2019-11-07 | 2020-02-18 | 北京绪水互联科技有限公司 | 一种远程协作的方法、装置及系统 |
CN111294386A (zh) * | 2020-01-13 | 2020-06-16 | 北京淳中科技股份有限公司 | 服务器通信方法、装置和电子设备 |
CN111935276A (zh) * | 2020-08-07 | 2020-11-13 | 中国联合网络通信集团有限公司 | 远程主机访问方法、装置及设备 |
CN111934840A (zh) * | 2020-06-29 | 2020-11-13 | 北京百度网讯科技有限公司 | 客户端和服务端的通信方法、网关、电子设备及存储介质 |
CN112019477A (zh) * | 2019-05-29 | 2020-12-01 | 上海诺基亚贝尔股份有限公司 | 一种用于建立和管理ssh连接的方法和装置 |
CN112437047A (zh) * | 2020-11-05 | 2021-03-02 | 北京浪潮数据技术有限公司 | 一种远程服务器管理方法、系统及相关装置 |
CN112651011A (zh) * | 2020-12-24 | 2021-04-13 | 深圳竹云科技有限公司 | 运维系统登录验证方法、装置、设备以及计算机存储介质 |
CN112671907A (zh) * | 2020-12-24 | 2021-04-16 | 深圳市潮流网络技术有限公司 | 终端设备调试方法及装置、终端设备、存储介质 |
CN112883345A (zh) * | 2021-02-04 | 2021-06-01 | 浙江大华技术股份有限公司 | 一种远程登录的控制方法及装置 |
-
2022
- 2022-03-15 CN CN202210251222.5A patent/CN114629889B/zh active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103179104A (zh) * | 2011-12-23 | 2013-06-26 | 中国移动通信集团公司 | 一种远程服务的访问方法、系统及其设备 |
US20150295890A1 (en) * | 2014-04-15 | 2015-10-15 | Calix, Inc. | System and method for secure network communications |
CN104243210A (zh) * | 2014-09-17 | 2014-12-24 | 湖北盛天网络技术股份有限公司 | 远程访问路由器管理页面的方法和系统 |
CN105721511A (zh) * | 2016-05-05 | 2016-06-29 | 杭州晴山信息技术有限公司 | 一种移动终端的身份验证方法 |
CN108667779A (zh) * | 2017-03-31 | 2018-10-16 | 华为技术有限公司 | 一种远程登录容器的方法及服务器 |
CN107634951A (zh) * | 2017-09-22 | 2018-01-26 | 携程旅游网络技术(上海)有限公司 | Docker容器安全管理方法、系统、设备及存储介质 |
CN108965256A (zh) * | 2018-06-15 | 2018-12-07 | 四川斐讯全智信息技术有限公司 | 一种基于ssh反向隧道远程管理嵌入式设备的系统及方法 |
CN109561087A (zh) * | 2018-11-28 | 2019-04-02 | 南京中孚信息技术有限公司 | 防火墙穿透方法及系统 |
CN112019477A (zh) * | 2019-05-29 | 2020-12-01 | 上海诺基亚贝尔股份有限公司 | 一种用于建立和管理ssh连接的方法和装置 |
CN110808992A (zh) * | 2019-11-07 | 2020-02-18 | 北京绪水互联科技有限公司 | 一种远程协作的方法、装置及系统 |
CN111294386A (zh) * | 2020-01-13 | 2020-06-16 | 北京淳中科技股份有限公司 | 服务器通信方法、装置和电子设备 |
CN111934840A (zh) * | 2020-06-29 | 2020-11-13 | 北京百度网讯科技有限公司 | 客户端和服务端的通信方法、网关、电子设备及存储介质 |
CN111935276A (zh) * | 2020-08-07 | 2020-11-13 | 中国联合网络通信集团有限公司 | 远程主机访问方法、装置及设备 |
CN112437047A (zh) * | 2020-11-05 | 2021-03-02 | 北京浪潮数据技术有限公司 | 一种远程服务器管理方法、系统及相关装置 |
CN112651011A (zh) * | 2020-12-24 | 2021-04-13 | 深圳竹云科技有限公司 | 运维系统登录验证方法、装置、设备以及计算机存储介质 |
CN112671907A (zh) * | 2020-12-24 | 2021-04-16 | 深圳市潮流网络技术有限公司 | 终端设备调试方法及装置、终端设备、存储介质 |
CN112883345A (zh) * | 2021-02-04 | 2021-06-01 | 浙江大华技术股份有限公司 | 一种远程登录的控制方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114629889B (zh) | 2024-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102681957B (zh) | 增强的无线 usb 协议和集线器 | |
CN109905312B (zh) | 消息推送方法、装置及系统 | |
CN108667699B (zh) | 一种终端设备与网关设备间的互联方法和装置 | |
CN110825411B (zh) | Tws耳机系统的升级方法、设备及计算机可读存储介质 | |
CN104349288A (zh) | 一种消息传输方法及装置 | |
CN104080086A (zh) | 无线连接建立方法及无线连接建立装置 | |
CN112346751B (zh) | 应用程序的安装方法、装置、电子设备和存储介质 | |
CN112714158A (zh) | 事务处理方法、中继网络、跨链网关、系统、介质和设备 | |
WO2024007987A1 (zh) | 数字钥匙系统的车端固件升级方法、装置、设备及介质 | |
US20230006991A1 (en) | Method and related apparatus for logging in to in-vehicle system | |
CN111866083A (zh) | 设备调试系统、方法、待调试设备、远程调试设备及中转服务器 | |
KR20130058579A (ko) | 무선랜 시스템에서의 자동 인증 및 상황기반 서비스 제공 방법 및 이를 이용한 서비스 제공 장치 | |
CN112087475B (zh) | 一种云平台组件应用的消息推送方法、装置及消息服务器 | |
TW201314467A (zh) | 無線裝置及其無線連結方法 | |
CN114629889B (zh) | 远程控制链接的建立方法、装置、设备及介质 | |
CN110602693B (zh) | 无线网络的组网方法和设备 | |
WO2022257927A1 (zh) | 密钥烧录方法、装置、电子设备板卡及存储介质 | |
CN116418791A (zh) | 固件升级方法、固件升级系统、服务器及存储介质 | |
CN112887155B (zh) | QoS关联信息同步方法及相关产品 | |
CN111158760B (zh) | 一种板卡配置文件的加载方法、装置以及电子设备 | |
CN109741585B (zh) | 一种通信控制系统及方法 | |
CN115225627A (zh) | 文件传输方法、装置、计算机设备及存储介质 | |
KR102462606B1 (ko) | 보이는 ars콘텐츠를 웹브라우저 기반으로 자동으로 제공하는 방법 및 장치 | |
CN113301542B (zh) | 配对连接方法、装置、存储介质及电子设备 | |
US20230319664A1 (en) | Systems and methods of fail-safe packet transmission using long range wide area networks |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |