CN116094846A - 基于tcp长连接的远程运维系统和方法 - Google Patents
基于tcp长连接的远程运维系统和方法 Download PDFInfo
- Publication number
- CN116094846A CN116094846A CN202310375280.3A CN202310375280A CN116094846A CN 116094846 A CN116094846 A CN 116094846A CN 202310375280 A CN202310375280 A CN 202310375280A CN 116094846 A CN116094846 A CN 116094846A
- Authority
- CN
- China
- Prior art keywords
- module
- type
- long connection
- tcp long
- tcp
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/105—Multiple levels of security
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1046—Joining mechanisms
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
-
- 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)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于TCP长连接的远程运维系统和方法,涉及通信技术领域,系统包括访问端、服务端和设备端;访问端用于主动向服务端发起第一TCP连接请求,建立与服务端之间的第一TCP长连接通道,以及用于根据实际运维需求输入初始数据包,并基于第一TCP长连接通道将其发送至服务端;设备端用于主动向服务端发起第二TCP连接请求,建立与服务端之间的第二TCP长连接通道;服务端用于接收初始数据包并从中解析出第一类控制命令,并基于第二TCP长连接通道将第一类控制命令转发至设备端;设备端还用于接收第一类控制命令并执行其对应的第一类操作。本发明有效节省了成本,有效提高远程运维的全面性、安全性和隐私性。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种基于TCP长连接的远程运维系统和方法。
背景技术
IoT(Internet of things,物联网)设备在客户使用过程中,若出现故障问题,便需要售后技术支持在现场同局域网下搭建远程桌面环境,开发人员再通过远程桌面软件,连接现场的PC电脑来进入设备后台进行分析、修复,甚至是寄回厂家返修,导致售后十分不便捷。
当前大部分IoT设备为实现远程运维,会使用内网穿透方案,如P2P打洞、VPN等,但由于NAT网关类型多,穿透过程复杂,以致成功率低,并不可靠,经常会出现由于网络环境复杂,无法成功远程连接的情况。大部分IoT平台不支持复杂的远程运维操作,通常仅仅提供了重启、恢复出厂等简单的操作命令,当遇到需要远程分析日志、导入配置、批量处理等复杂运维操作时,无法提供控制台模式的运维手段。且大部分IoT平台远程运维缺少对数据传输的安全性考虑,导致远程运维时一些敏感信息容易泄露,引起IoT设备后续被攻击的风险。
发明内容
本发明要解决的技术问题是为了克服现有技术中IoT设备远程运维时效性低、难度高、成本高、解决问题单一以及安全低的缺陷,提供一种基于TCP长连接的远程运维系统和方法。
本发明是通过下述技术方案来解决上述技术问题:
第一方面,本发明提供了一种基于TCP长连接的远程运维系统,包括访问端、服务端和设备端;
所述访问端,包括命令控制台模块,用于主动向所述服务端发起第一TCP连接请求,建立与所述服务端之间的第一TCP长连接通道,以及用于根据实际运维需求输入初始数据包,并基于所述第一TCP长连接通道将所述初始数据包发送至所述服务端;
所述设备端,包括TCP长连接模块,用于主动向所述服务端发起第二TCP连接请求,建立与所述服务端之间的第二TCP长连接通道;
所述服务端,包括逻辑转发模块,用于接收所述初始数据包,从所述初始数据包解析出第一类控制命令,并基于所述第二TCP长连接通道将所述第一类控制命令转发至所述设备端;
所述设备端,还包括远程运维模块,用于接收所述第一类控制命令,并执行所述第一类命令对应的第一类操作;其中,所述第一类操作包括查询日志、设备抓包、设备升级、远程配置和批量处理中的至少一种,所述设备端包括IoT设备。
优选地,所述服务端还包括数据库模块;
所述逻辑转发模块还用于在接收到所述第一TCP长连接请求时,调取所述数据库模块中的访问白名单对所述访问端的物理地址进行访问权限判断,并在判断为是的情况下响应所述第一TCP长连接请求,以及在判断为否的情况下拦截所述第一TCP长连接请求。
优选地,所述逻辑转发模块还用于根据所述初始数据包解析出待运维设备名单,调取所述数据库模块中的设备白名单与所述待运维设备名单进行身份验证,并在验证通过的情况下将所述第一类控制命令转发至对应的所述设备端,以及在验证不通过的情况下断开所述第一TCP长连接通道。
优选地,所述逻辑转发模块还用于对所述第一类控制命令的权限等级与预设权限等级进行权限等级判断,并将符合所述预设权限等级的所述第一类控制命令转发至所述设备端,以及对不符合预设权限等级的所述第一类控制命令进行拦截。
优选地,所述设备端还包括数据反馈模块;
所述数据反馈模块用于根据所述第一类操作生成对应的第一类数据,并将所述第一类数据基于所述第二TCP长连接通道发送至所述逻辑转发模块;
所述逻辑转发模块还用于接收所述第一类数据,并基于所述第一TCP长连接通道将所述第一类数据转发至所述访问端。
优选地,所述命令控制台模块具体用于根据AES加密算法对所述初始数据包进行加密并发送至所述逻辑转发模块;
所述逻辑转发模块具体用于根据AES解密算法对所述初始数据包进行解密,从所述初始数据包解析出所述第一类控制命令,并将所述第一类控制命令根据所述AES加密算法进行加密并发送至所述远程运维模块;
所述远程运维模块具体用于根据AES解密算法对所述第一类控制命令进行解密并执行所述第一类命令对应的所述第一类操作。
优选地,所述数据反馈模块具体用于根据所述AES加密算法对所述第一类数据进行加密,并将所述第一类数据基于所述第二TCP长连接通道发送至所述逻辑转发模块;
所述逻辑转发模块具体用于将经过加密的所述第一类数据基于所述第一TCP长连接通道转发至所述命令控制台模块;
所述命令控制台模块具体用于根据所述AES解密算法对所述第一类数据进行解密。
第二方面,本发明提供了一种基于TCP长连接的远程运维方法,包括以下步骤:
步骤S1、访问端通过命令控制台模块主动向服务端发起第一TCP连接请求,建立与所述服务端之间的第一TCP长连接通道;
步骤S2、所述访问端根据实际运维需求在所述命令控制台模块输入初始数据包,并基于所述第一TCP长连接通道将所述初始数据包发送至所述服务端;
步骤S3、设备端用于通过TCP长连接模块主动向所述服务端发起第二TCP连接请求,建立与所述服务端之间的第二TCP长连接通道;
步骤S4、所述服务端用于通过逻辑转发模块接收所述初始数据包,从所述初始数据包解析出第一类控制命令,并基于所述第二TCP长连接通道将所述第一类控制命令转发至所述设备端;
步骤S5、所述设备端用于通过远程运维模块接收所述第一类控制命令,并执行所述第一类命令对应的第一类操作;
其中,所述第一类操作包括查询日志、设备抓包、设备升级、远程配置和批量处理中的至少一种,所述设备端包括IoT设备。
优选地,所述步骤S1具体包括:
步骤S11、所述服务端在接收到所述第一TCP长连接请求时,调取所述服务端中的数据库模块中的访问白名单对所述访问端的物理地址进行访问权限判断,并在判断为是的情况下执行步骤S121,以及在判断为否的情况下执行步骤S122;
步骤S121,所述服务端响应所述第一TCP长连接请求,建立起所述访问端和所述服务端之间的第一TCP长连接通道;
步骤S122, 所述服务端拦截所述第一TCP长连接请求。
优选地,所述步骤S4具体包括:
步骤S41、所述逻辑转发模块根据所述初始数据包解析出待运维设备名单,调取所述数据库模块中的设备白名单与所述待运维设备名单进行身份验证,并在验证通过的情况下执行步骤S421,以及在验证不通过的情况下执行步骤S422;
步骤S421、所述逻辑转发模块将所述第一类控制命令转发至对应的所述设备端;
步骤S422、所述逻辑转发模块断开所述第一TCP长连接通道。
在符合本领域常识的基础上,上述各优选条件,可任意组合,即得本发明各较佳实施例。
本发明的积极进步效果在于:本发明提供了一种基于TCP长连接的远程运维系统和方法,通过在服务端与访问端和设备端之间的建立TCP长连接,实现点对点的命令传输,从而实现对IoT设备的远程运维。该方案无需在IoT设备搭建其余环境和不必依赖外部网关,有效节省了经济成本和硬件成本,同时支持根据实际运维需求输入控制命令,有效提高解决问题的全面性和时效性,以及对每一端之间严格遵循AES加解密,避免数据泄露风险,有效提高安全性。
附图说明
图1为本发明实施例提供的基于TCP长连接的远程运维系统的结构示意图。
图2为本发明实施例提供的基于TCP长连接的远程运维系统的另一种结构示意图。
图3为本发明实施例提供的基于TCP长连接的远程运维系统的另一种示意图。
图4为本发明实施例提供的基于TCP长连接的远程运维方法的流程示意图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但不因此将本发明限制在所述的实施例范围之中。
本实施例提供了一种基于TCP长连接的远程运维系统,图1为本发明实施例提供的基于TCP长连接的远程运维系统的结构示意图,如图1所示,该远程运维系统包括访问端11、服务端12和设备端13。
访问端11,包括命令控制台模块,用于主动向服务端12发起第一TCP连接请求,建立与服务端12之间的第一TCP长连接通道,以及用于根据实际运维需求输入初始数据包,并基于第一TCP长连接通道将初始数据包发送至服务端12。
设备端13,包括TCP长连接模块,用于主动向服务端12发起第二TCP连接请求,建立与服务端12之间的第二TCP长连接通道。
服务端12,包括逻辑转发模块,用于接收初始数据包,从初始数据包解析出第一类控制命令,并基于第二TCP长连接通道将第一类控制命令转发至设备端13。
设备端13,还包括远程运维模块,用于接收第一类控制命令,并执行第一类命令对应的第一类操作。
其中,第一类操作包括查询日志、设备抓包、设备升级、远程配置和批量处理中的至少一种;设备端13包括IoT设备。
具体地,在远程运维系统中,图2为本发明实施例提供的基于TCP长连接的远程运维系统的另一种示意图,如图2所示,设备端13中的IoT设备通过集成自研的TCP长连接客户端SDK(以下简称dclient),在启动时主动向服务端12中的云平台服务器(以下简称csmain)发起一个第二TCP长连接请求,建立起IoT设备与云平台之间的第二TCP长连接通道,此时云平台可以通过此条第二TCP长连接通道与内网中的IoT设备进行信息和命令交互;在访问端11,开发运维人员通过基于TCP长连接的命令控制台模块(以下简称csmain_cli),将需要远程运维执行的命令输入至csmain_cli终端,通过csmain_cli ->csmain ->dclient的TCP转发链路,实现点对点的命令传输,从而实现对IoT设备的远程运维。
该系统中设备端13中的IoT设备通过集成自研的TCP长连接客户端SDK,无需在IoT设备外围搭建其余环境,极大减少了人工成本;同时不必依赖外部网关,集成轻量的SDK即可,极大地减少了硬件成本。此外,设备端13中的设备类型包括智能汽车、医疗设备、智能摄像头、环境监测、智能工厂、智能家居以及共享交通等物联网设备,本实施例不做具体限制。对于不同的设备终端,该系统可以演化为不同的产品,如智能家居控制台、PC远程桌面软件和本地服务器升级工具等。
需要说明的是,远程运维系统还可应用于复杂多变的AIoT(ArtificialIntelligence of Things,人工智能物联网)场景下的远程运维;该系统的各个部件均需安装在Linux环境下,如将dclient安装至IoT设备端、csmain安装在IoT服务端,以及将csmain_cli安装在linux系统的计算机上。
需要说明的是,本实施例的服务端12采用分布式架构进行开发设计,可在全球各地区进行集群化部署,一个服务端12设置多个服务器,有效避免系统宕机、系统瘫痪、系统故障以及系统臃肿的问题。图3为本发明实施例提供的基于TCP长连接的远程运维系统的另一种结构示意图,如图3所示,服务端12包括:边缘服务器121、边缘服务器122以及路由服务器123。在实际应用时,设备端13会就近连接边缘服务器122,访问端11也会就近连接边缘服务器121,而服务端12之间会对接收到的连接请求进行智能路由,准确投递到对应设备的对应节点上。
服务端采用分布式架构进行设计可避免弱网或者部分国家存在网络限制情况下,导致的网络连接不稳定或者无法正常连接的情况,通过两朵边缘云之间可以进行网络加速,且不存在部分国家运营商网络限制问题,从而让系统在面临诸多不确定因素时有多种容错方式,从整体上提高系统的稳定性,使得整体远程运维方案适用性更强。
在一种可选的实施方式中,该系统还可将访问端11的命令控制台模块集成到web网站中,可更加便捷地在任意PC上进行远程访问控制。
在一种可选的实施方式中,服务端12还包括数据库模块;逻辑转发模块还用于在接收到第一TCP长连接请求时,调取数据库模块中的访问白名单对访问端11的物理地址进行访问权限判断,并在判断为是的情况下响应第一TCP长连接请求,以及在判断为否的情况下拦截第一TCP长连接请求。
在具体实施时,服务端12还用于对访问端11的访问权限进行鉴权,在服务端12做了授权要求,即服务端12对访问端11存在白名单控制,服务端12通过调取数据库模块中的访问白名单,将其与访问端11的物理地址进行判断,并在通过判断的情况下才允许通过该访问端11的访问权限,否则断开与访问端11之前的第一TCP长连接通道。
该功能通过对访问端11的操作权限进行授权管控,防止未经授权的访问端可以随意进行IoT设备后台进行任意操作的问题,有效提高了远程运维的安全性和隐私性。
需要说明的是,逻辑转发模块通常只有在访问端11首次对服务端12发起第一TCP长连接请求时,才会对该访问端11的访问权限进行判断,确定其为白名单内的IP才对其接下来的命令进行转发,否则断开与访问端11之间的TCP连接通道。
在一种可选的实施方式中,逻辑转发模块还用于根据初始数据包解析出待运维设备名单,调取数据库模块中的设备白名单与待运维设备名单进行身份验证,并在验证通过的情况下将第一类控制命令转发至对应的设备端,以及在验证不通过的情况下断开所述第一TCP长连接通道。
在具体实施时,服务端12还用于对设备端13的远程功能进行用户开关控制,访问端11可输入指定设备MAC的命令向逻辑转发模块要求建立对应的转发通道,逻辑转发模块只有在确认该待运维设备名单为数据库模块中的设备白名单中的授权设备,才将命令进行转发至对应的设备端13中。
在一种可选的实施方式中,逻辑转发模块还用于对第一类控制命令的权限等级与预设权限等级进行权限等级判断,并将符合预设权限等级的第一类控制命令转发至设备端13,以及对不符合预设权限等级的第一类控制命令进行拦截。
通常情况下,访问端11通过常规的shell命令向对应的设备进行远程运维,包括一般常用的检测、修改、升级等预先设定的命令,以及一些自定义封装的常用命令、批量命令等,既能避免误操作带来的影响,又能避免频繁的操作,有效提升远程运维的易用性,接近于直接在内网中访问设备后台的使用体验。
具体地,访问端11支持自定义的类终端命令输入,支持使用设备Linux终端的大部分命令,即允许大部分安全的设备后台指令,包括远程查询日志、设备抓包、设备升级、远程配置等复杂运维操作,且支持自定义批量处理操作,针对不同的设备终端也可以由运维人员自行输入丰富的shell命令,而不是一一去适配每个设备命令,让分析问题和解决问题的手段多样化和全面性。同时,服务端12对于部分权限过大的shell命令进行了识别拦截,也进一步体现了安全性。
在一种可选的实施方式中,设备端13还包括数据反馈模块;数据反馈模块用于根据第一类操作生成对应的第一类数据,并将第一类数据基于第二TCP长连接通道发送至逻辑转发模块;逻辑转发模块还用于接收第一类数据,并基于第一TCP长连接通道将第一类数据转发至访问端11。在具体使用时,数据反馈模块在将第一类数据反馈至逻辑转发模块中还携带着设备端13的位置信息,逻辑转发模块将接收到的第一类数据和位置信息同步转发至访问端11,访问端11即可根据该位置信息和第一类数据进行快速定位以及远程运维。
该功能通过服务端12将设备端13反馈的第一类数据转发至访问端11,提供给访问端11和设备端13之间安全可靠的双向数据流转传输能力,该数据流同TCP的数据流一样,可确保数据是顺序到达的,服务端12将输入在访问端11的命令精准转发投递给对应的设备端13,从而构造出一条完整的远程运维通道链路。
在一种可选的实施方式中,命令控制台模块具体用于根据AES加密算法对初始数据包进行加密并发送至逻辑转发模块;逻辑转发模块具体用于根据AES解密算法对初始数据包进行解密,从初始数据包解析出第一类控制命令,并将第一类控制命令根据AES加密算法进行加密并发送至远程运维模块;远程运维模块具体用于根据AES解密算法对第一类控制命令进行解密并执行第一类命令对应的第一类操作。
在一种可选的实施方式中,数据反馈模块具体用于根据AES加密算法对第一类数据进行加密,并将第一类数据基于第二TCP长连接通道发送至逻辑转发模块;逻辑转发模块具体用于将经过加密的第一类数据基于第一TCP长连接通道转发至命令控制台模块;命令控制台模块具体用于根据所述AES解密算法对第一类数据进行解密。
具体地,该远程运维系统对所有通道中的传输的命令和数据都进行了严格AES加解密,即每一端都按照特定的规则,含随机因子的密钥进行加解密,避免了数据泄漏风险,有效提高了该系统的安全性和隐私性。
在一种可选的实施方式中,设备端13还包括业务执行模块,用于执行一些访问端11下达的常规业务命令,该业务执行模块与远程运维模块共用一条TCP通道,即第二TCP长连接通道,不用再另外创建一条TCP通道,有效避免了资源的浪费和设备端13的软件系统臃肿,适用于小内存的嵌入式设备,达到通道复用、网络资源复用以及设备轻量化的目的。
具体地,访问端11将业务命令基于第一TCP长连接通道下发至服务端12中,服务端12的逻辑转发模块将其通过第二TCP长连接通道转发至设备端13的业务执行模块中,业务执行模块根据业务命令执行对应的操作,根据执行的操作生成对应的第二类数据,并按照传输的通道将第二类数据反馈至访问端11。
在一种可选的实施方式中,访问端11还包括阈值报警模块,用于对反馈至访问端11的第一类数据和第二类数据与预设阈值标准进行分析判断,在反馈的数据不符合其所对应的阈值标准时进行自动报警,以提示访问端11的运维人员能够更好地进行远程运维。
本实施例的远程运维系统通过TCP长连接的方式提供了内网穿透的能力,打破用户在远程运维时的网络限制,通过设备端13主动向服务端12发起TCP长连接请求,建立起TCP长连接通道,提供安全可靠的远程运维IoT设备的能力。
本实施例还提供了一种基于TCP长连接的远程运维方法,可应用于上述实施例中的基于TCP长连接的远程运维系统,图4为本实施例提供的基于TCP长连接的远程运维方法的流程示意图,如图4所示,该方法包括以下步骤:
步骤S1、访问端通过命令控制台模块主动向服务端发起第一TCP连接请求,建立与服务端之间的第一TCP长连接通道。
步骤S2、访问端根据实际运维需求在命令控制台模块输入初始数据包,并基于第一TCP长连接通道将初始数据包发送至服务端。
步骤S3、设备端用于通过TCP长连接模块主动向服务端发起第二TCP连接请求,建立与服务端之间的第二TCP长连接通道。
步骤S4、服务端用于通过逻辑转发模块接收初始数据包,从初始数据包解析出第一类控制命令,并基于第二TCP长连接通道将第一类控制命令转发至设备端。
步骤S5、设备端用于通过远程运维模块接收第一类控制命令,并执行第一类命令对应的第一类操作。
其中,第一类操作包括查询日志、设备抓包、设备升级、远程配置和批量处理中的至少一种,设备端包括IoT设备。
在一种可选的实施方式中,步骤S1具体包括:
步骤S11、服务端在接收到第一TCP长连接请求时,调取服务端中的数据库模块中的访问白名单对访问端的物理地址进行访问权限判断,并在判断为是的情况下执行步骤S121,以及在判断为否的情况下执行步骤S122。
步骤S121,服务端响应所述第一TCP长连接请求,建立起访问端和服务端之间的第一TCP长连接通道。
步骤S122,服务端拦截第一TCP长连接请求。
在一种可选的实施方式中,步骤S4具体包括:
步骤S41、逻辑转发模块根据初始数据包解析出待运维设备名单,调取数据库模块中的设备白名单与待运维设备名单进行身份验证,并在验证通过的情况下执行步骤S421,以及在验证不通过的情况下执行步骤S422。
步骤S421、逻辑转发模块将第一类控制命令转发至对应的设备端。
步骤S422、逻辑转发模块断开第一TCP长连接通道。
在一种可选的实施方式中,步骤S4具体包括:
步骤S43、逻辑转发模块对第一类控制命令的权限等级与预设权限等级进行权限等级判断,并在判断为是的情况下执行步骤S441,以及在判断为否的情况下执行步骤S442。
步骤S441、逻辑转发模块将符合预设权限等级的第一类控制命令转发至设备端。
步骤S442、逻辑转发模块对不符合预设权限等级的第一类控制命令进行拦截。
在一种可选的实施方式中,该方法还包括:
步骤S6、设备端根据所述第一类操作生成对应的第一类数据,并将第一类数据基于第二TCP长连接通道发送至逻辑转发模块。
步骤S7、逻辑转发模块还用于接收第一类数据,并基于第一TCP长连接通道将第一类数据转发至访问端。
在一种可选的实施方式中,步骤S2具体包括:
步骤S21、命令控制台模块根据AES加密算法对初始数据包进行加密,并发送至逻辑转发模块。
在一种可选的实施方式中,步骤S4具体包括:
步骤S45、逻辑转发模块根据AES解密算法对初始数据包进行解密,从初始数据包解析出第一类控制命令,并将第一类控制命令根据AES加密算法进行加密并发送至远程运维模块。
在一种可选的实施方式中,步骤S5具体包括:
步骤S51、远程运维模块根据AES解密算法对第一类控制命令进行解密,并执行第一类命令对应的第一类操作。
在一种可选的实施方式中,步骤S6具体包括:
步骤S61、访问端根据AES加密算法对第一类数据进行加密,并将第一类数据基于第二TCP长连接通道发送至逻辑转发模块。
在一种可选的实施方式中,步骤S7具体包括:
步骤S71、逻辑转发模块将经过加密的第一类数据基于第一TCP长连接通道转发至命令控制台模块。
在一种可选的实施方式中,步骤S1具体包括:
步骤S13、命令控制台模块根据所述AES解密算法对第一类数据进行解密。
本实施例的远程运维方法通过TCP长连接的方式提供了内网穿透的能力,打破用户在远程运维时的网络限制,通过设备端主动向服务端发起TCP长连接请求,建立起TCP长连接通道,提供安全可靠的远程运维IoT设备的能力。
本实施例的远程运维方法通过对访问端的物理地址进行鉴权以及对访问端携带的待运维名单进行身份验证,只有在验证通过时才允许访问端的访问权限以及对设备端的远程运维,有效提高了远程运维的安全性和隐私性。
本实施例的远程运维方法支持自定义的类终端命令输入,支持使用设备Linux终端的大部分命令,即允许大部分安全的设备后台指令,包括远程查询日志、设备抓包、设备升级、远程配置等复杂运维操作,有效提高了分析问题和解决问题的手段多样化和全面性;同时,对部分权限过大的shell命令进行了识别拦截,也进一步体现了安全性。
本实施例的远程运维方法对所有通道中的传输的命令和数据都进行了严格AES加解密,即每一端都按照特定的规则,含随机因子的密钥进行加解密,避免了数据泄漏风险,有效提高了远程运维的安全性和隐私性。
上述仅为本发明的具体实施方式,但本发明的设计构思并不局限于此,凡利用此构思对本发明进行非实质性的改动,均应属于侵犯本发明保护范围的行为。
Claims (10)
1.一种基于TCP长连接的远程运维系统,其特征在于,包括访问端、服务端和设备端;
所述访问端,包括命令控制台模块,用于主动向所述服务端发起第一TCP连接请求,建立与所述服务端之间的第一TCP长连接通道,以及用于根据实际运维需求输入初始数据包,并基于所述第一TCP长连接通道将所述初始数据包发送至所述服务端;
所述设备端,包括TCP长连接模块,用于主动向所述服务端发起第二TCP连接请求,建立与所述服务端之间的第二TCP长连接通道;
所述服务端,包括逻辑转发模块,用于接收所述初始数据包,从所述初始数据包解析出第一类控制命令,并基于所述第二TCP长连接通道将所述第一类控制命令转发至所述设备端;
所述设备端,还包括远程运维模块,用于接收所述第一类控制命令,并执行所述第一类命令对应的第一类操作;
其中,所述第一类操作包括查询日志、设备抓包、设备升级、远程配置和批量处理中的至少一种;所述设备端包括IoT设备。
2.根据权利要求1所述的远程运维系统,其特征在于,所述服务端还包括数据库模块;
所述逻辑转发模块还用于在接收到所述第一TCP长连接请求时,调取所述数据库模块中的访问白名单对所述访问端的物理地址进行访问权限判断,并在判断为是的情况下响应所述第一TCP长连接请求,以及在判断为否的情况下拦截所述第一TCP长连接请求。
3.根据权利要求2所述的远程运维系统,其特征在于,所述逻辑转发模块还用于根据所述初始数据包解析出待运维设备名单,调取所述数据库模块中的设备白名单与所述待运维设备名单进行身份验证,并在验证通过的情况下将所述第一类控制命令转发至对应的所述设备端,以及在验证不通过的情况下断开所述第一TCP长连接通道。
4.根据权利要求1所述的远程运维系统,其特征在于,所述逻辑转发模块还用于对所述第一类控制命令的权限等级与预设权限等级进行权限等级判断,并将符合所述预设权限等级的所述第一类控制命令转发至所述设备端,以及对不符合预设权限等级的所述第一类控制命令进行拦截。
5.根据权利要求1所述的远程运维系统,其特征在于,所述设备端还包括数据反馈模块;
所述数据反馈模块用于根据所述第一类操作生成对应的第一类数据,并将所述第一类数据基于所述第二TCP长连接通道发送至所述逻辑转发模块;
所述逻辑转发模块还用于接收所述第一类数据,并基于所述第一TCP长连接通道将所述第一类数据转发至所述访问端。
6.根据权利要求5所述的远程运维系统,其特征在于,所述命令控制台模块具体用于根据AES加密算法对所述初始数据包进行加密并发送至所述逻辑转发模块;
所述逻辑转发模块具体用于根据AES解密算法对所述初始数据包进行解密,从所述初始数据包解析出所述第一类控制命令,并将所述第一类控制命令根据所述AES加密算法进行加密并发送至所述远程运维模块;
所述远程运维模块具体用于根据AES解密算法对所述第一类控制命令进行解密并执行所述第一类命令对应的所述第一类操作。
7.根据权利要求6所述的远程运维系统,其特征在于,所述数据反馈模块具体用于根据所述AES加密算法对所述第一类数据进行加密,并将所述第一类数据基于所述第二TCP长连接通道发送至所述逻辑转发模块;
所述逻辑转发模块具体用于将经过加密的所述第一类数据基于所述第一TCP长连接通道转发至所述命令控制台模块;
所述命令控制台模块具体用于根据所述AES解密算法对所述第一类数据进行解密。
8.一种基于TCP长连接的远程运维方法,其特征在于,包括以下步骤:
步骤S1、访问端通过命令控制台模块主动向服务端发起第一TCP连接请求,建立与所述服务端之间的第一TCP长连接通道;
步骤S2、所述访问端根据实际运维需求在所述命令控制台模块输入初始数据包,并基于所述第一TCP长连接通道将所述初始数据包发送至所述服务端;
步骤S3、设备端用于通过TCP长连接模块主动向所述服务端发起第二TCP连接请求,建立与所述服务端之间的第二TCP长连接通道;
步骤S4、所述服务端用于通过逻辑转发模块接收所述初始数据包,从所述初始数据包解析出第一类控制命令,并基于所述第二TCP长连接通道将所述第一类控制命令转发至所述设备端;
步骤S5、所述设备端用于通过远程运维模块接收所述第一类控制命令,并执行所述第一类命令对应的第一类操作;
其中,所述第一类操作包括查询日志、设备抓包、设备升级、远程配置和批量处理中的至少一种,所述设备端包括IoT设备。
9.根据权利要求8所述的远程运维方法,其特征在于,所述步骤S1具体包括:
步骤S11、所述服务端在接收到所述第一TCP长连接请求时,基于所述服务端中的数据库中的访问白名单对所述访问端的物理地址进行访问权限判断,并在判断为是的情况下执行步骤S121,以及在判断为否的情况下执行步骤S122;
步骤S121,所述服务端响应所述第一TCP长连接请求,建立起所述访问端和所述服务端之间的第一TCP长连接通道;
步骤S122, 所述服务端拦截所述第一TCP长连接请求。
10.根据权利要求8所述的远程运维方法,其特征在于,所述步骤S4具体包括:
步骤S41、所述逻辑转发模块根据所述初始数据包解析出待运维设备名单,基于所述数据库中的设备白名单与所述待运维设备名单进行身份验证,并在验证通过的情况下执行步骤S421,以及在验证不通过的情况下执行步骤S422;
步骤S421、所述逻辑转发模块将所述第一类控制命令转发至对应的所述设备端;
步骤S422、所述逻辑转发模块断开所述第一TCP长连接通道。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310375280.3A CN116094846A (zh) | 2023-04-10 | 2023-04-10 | 基于tcp长连接的远程运维系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310375280.3A CN116094846A (zh) | 2023-04-10 | 2023-04-10 | 基于tcp长连接的远程运维系统和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116094846A true CN116094846A (zh) | 2023-05-09 |
Family
ID=86206760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310375280.3A Pending CN116094846A (zh) | 2023-04-10 | 2023-04-10 | 基于tcp长连接的远程运维系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116094846A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106850731A (zh) * | 2016-10-14 | 2017-06-13 | 水熊有限公司 | 一种远程控制的方法、服务器和系统 |
WO2017101729A1 (zh) * | 2015-12-18 | 2017-06-22 | 阿里巴巴集团控股有限公司 | 一种基于物联网的设备操作方法及服务器 |
WO2017106258A1 (en) * | 2015-12-14 | 2017-06-22 | Afero, Inc. | System and method for establishing a secondary communication channel to control an internet of things (iot) device |
CN107943622A (zh) * | 2016-10-13 | 2018-04-20 | 腾讯科技(深圳)有限公司 | 备用运维方法、装置和系统 |
US20190349417A1 (en) * | 2017-01-03 | 2019-11-14 | Tencent Technology (Shenzhen) Company Limited | Data transmission method and device |
CN113301106A (zh) * | 2021-03-23 | 2021-08-24 | 阿里巴巴新加坡控股有限公司 | 运维处理系统、方法以及装置 |
-
2023
- 2023-04-10 CN CN202310375280.3A patent/CN116094846A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017106258A1 (en) * | 2015-12-14 | 2017-06-22 | Afero, Inc. | System and method for establishing a secondary communication channel to control an internet of things (iot) device |
WO2017101729A1 (zh) * | 2015-12-18 | 2017-06-22 | 阿里巴巴集团控股有限公司 | 一种基于物联网的设备操作方法及服务器 |
CN107943622A (zh) * | 2016-10-13 | 2018-04-20 | 腾讯科技(深圳)有限公司 | 备用运维方法、装置和系统 |
CN106850731A (zh) * | 2016-10-14 | 2017-06-13 | 水熊有限公司 | 一种远程控制的方法、服务器和系统 |
US20190349417A1 (en) * | 2017-01-03 | 2019-11-14 | Tencent Technology (Shenzhen) Company Limited | Data transmission method and device |
CN113301106A (zh) * | 2021-03-23 | 2021-08-24 | 阿里巴巴新加坡控股有限公司 | 运维处理系统、方法以及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110996318B (zh) | 一种变电站智能巡检机器人安全通信接入系统 | |
US11209803B2 (en) | Firewall system and method for establishing secured communications connections to an industrial automation system | |
KR101992976B1 (ko) | Ssh 인증키를 보안 관리하는 ssh 프로토콜 기반 서버 원격 접근 시스템 | |
KR20160002058A (ko) | 모드버스 통신 패턴 학습에 기반한 비정상 트래픽 탐지 장치 및 방법 | |
US9088429B2 (en) | Method for operating, monitoring and/or configuring an automation system of a technical plant | |
KR101896453B1 (ko) | 원격접근의 어플리케이션 제약 해소와 통신 보안성 향상을 위한 게이트웨이 방식의 접근통제 시스템 | |
CN107277058B (zh) | 一种基于bfd协议的接口认证方法及系统 | |
US20230006988A1 (en) | Method for selectively executing a container, and network arrangement | |
KR101896449B1 (ko) | 암호화 통신 프로토콜 기반 서버 원격 접근 세션에 대한 보안 감사 및 통제를 위한 접근 통제 시스템 | |
CN115499177A (zh) | 云桌面访问方法、零信任网关、云桌面客户端和服务端 | |
CN115250203A (zh) | 一种控制设备准入的方法、装置及相关产品 | |
CN102185867A (zh) | 一种实现网络安全的方法和一种星形网络 | |
KR102347087B1 (ko) | 무선 통신 시스템에서 디바이스 간의 자율적인 상호 인증 방법 및 장치 | |
KR101881061B1 (ko) | 모드 변경이 가능한 양방향 통신 장치 및 방법 | |
CN110892695A (zh) | 在建立连接期间检查受密码保护的通信连接的连接参数的方法、设备和计算机程序产品 | |
JP4720576B2 (ja) | ネットワークセキュリィテイ管理システム、暗号化通信の遠隔監視方法及び通信端末。 | |
CN100428748C (zh) | 一种基于双重身份的多方通信方法 | |
CN116094846A (zh) | 基于tcp长连接的远程运维系统和方法 | |
KR20200098181A (ko) | 통합보안네트워크카드에의한네트워크보안시스템 | |
KR20150114921A (ko) | 기업내 보안망 제공시스템 및 그 방법 | |
US11283790B2 (en) | Agentless identity-based network switching | |
US9940116B2 (en) | System for performing remote services for a technical installation | |
CN115604862A (zh) | 视频流传输方法及系统 | |
KR101818508B1 (ko) | 기업내 보안망 제공시스템, 그 방법 및 컴퓨터 판독가능한 기록 매체 | |
KR102132490B1 (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 |