CN115333977A - 一种基于网络接口的系统诊断通道实现方法及装置 - Google Patents
一种基于网络接口的系统诊断通道实现方法及装置 Download PDFInfo
- Publication number
- CN115333977A CN115333977A CN202210962585.XA CN202210962585A CN115333977A CN 115333977 A CN115333977 A CN 115333977A CN 202210962585 A CN202210962585 A CN 202210962585A CN 115333977 A CN115333977 A CN 115333977A
- Authority
- CN
- China
- Prior art keywords
- diagnosis
- diagnostic
- command
- result
- data packet
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0811—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
-
- 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/12—Applying verification of the received information
-
- 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/12—Applying verification of the received information
- H04L63/126—Applying verification of the received information the source of the received data
Abstract
本发明公开了一种基于网络接口的系统诊断通道实现方法及装置,包括:对诊断命令进行合法性检查,并按诊断通道协议将输入参数封装成诊断通道数据包;对诊断通道数据包进行安全认证检查,解析出诊断命令并存入诊断命令缓冲区;对诊断命令工作队列中的诊断命令均创建相应的诊断命令执行任务;针对通过安全性检查的诊断命令,调度运行其相应的诊断命令执行任务来执行该诊断命令,并将诊断结果写入诊断结果缓冲区;将所述诊断结果按诊断通道协议封装成结果诊断通道数据包;对结果诊断通道数据包进行合法性检查后解析出诊断结果,并按用户指定的显示样式进行格式化处理和显示。本发明适用于具有网络接口的操作系统,其可靠性强、安全性高、适用性广。
Description
技术领域
本发明涉及就计算机软件系统运维技术领域,特别涉及基于网络接口的系统诊断通道实现方法及装置。
背景技术
诊断是查找系统故障的过程,是系统的基本功能;当系统的某些对象未按预期工作时,通过诊断通道与系统建立连接,进行信息收集和故障干预,从而实现故障定位和故障恢复。诊断通道由硬件和软件两部分组成,常见的诊断通道硬件有串口、网口;常见的诊断通道软件有基于串口的shell终端应用服务和基于网口的Telnet协议、SSH协议的网络终端应用服务。
对于没有串口的设备,诊断通道一般使用网络接口与设备连接;现有的网络诊断通道技术,因为依赖脆弱的用户态应用服务,其可靠性较差;在系统故障时,如系统内存耗尽导致应用服务退出,或者因为硬件故障造成的中断风暴、死锁导致应用服务无法调度,都会导致诊断通道无法工作;并且现有的诊断通道对诊断命令缺少必要的安全防护,如果用户使用不当,很容易导致系统故障扩散或者系统故障恶化;除此之外,还存在暴露的网络服务端口容易遭受攻击、用户访问权限容易越权等安全问题。
发明内容
本发明的目的在于克服现有技术中的不足,提供一种基于网络接口的系统诊断通道实现方法及装置,解决现有技术中基于网口系统的诊断通道存在的可靠性和安全性问题。
为解决上述技术问题,本发明是采用下述技术方案实现的:
第一方面,本发明提供一种基于网络接口的系统诊断通道实现方法,所述方法包括:
对诊断命令进行合法性检查,若合法,则按诊断通道协议将输入参数封装成诊断通道数据包,否则不封装;
对封装好的诊断通道数据包进行安全认证检查,若安全,则从所述诊断通道数据包中解析出诊断命令并存入诊断命令缓冲区的诊断命令工作队列中,否则不解析;
从所述诊断命令工作队列中逐一获取诊断命令,对每个所获取的诊断命令均创建相应的诊断命令执行任务;
判断所获取的诊断命令是否通过白名单及可访问路径白名单的安全性检查,若通过,则调度运行相应的诊断命令执行任务来执行该诊断命令,并将诊断结果写入诊断结果缓冲区,否则不执行;
将所述诊断结果按诊断通道协议封装成结果诊断通道数据包;
对所述结果诊断通道数据包进行合法性检查,若合法,则从结果诊断通道数据包中解析出诊断结果,并按用户指定的显示样式进行格式化处理和显示,否则不显示。
结合第一方面,优选地,所述对每个所获取的诊断命令均创建相应的诊断命令执行任务之后还包括:初始化所述诊断命令执行任务的用户态的运行参数。
结合第一方面,优选地,所述诊断命令执行任务的用户态的运行参数包括:可执行命令的路径、参数向量、运行环境变量。
结合第一方面,优选地,所述对诊断命令进行合法性检查的检查内容包括诊断命令的长度和格式。
结合第一方面,优选地,所述输入参数包括指定IP目的地址、诊断通道密码、诊断命令、超时时间。
结合第一方面,优选地,对所述诊断通道数据包的进行安全认证检查的检查项包括:诊断通道功能是否使能、诊断通道密码是否有效设置、诊断通道数据包是否来自指定诊断通道网络接口、诊断命令数据长度是否合法、诊断命令数据包标识符是否正确、诊断密码是否正确。
结合第一方面,优选地,所述诊断通道协议为ICMP网络协议。
结合第一方面,优选地,对所述结果诊断通道数据包进行合法性检查的检查内容包括:ICMP类型和诊断通道标识符的校验检查。
第二方面,本发明提供一种基于网络接口的系统诊断通道实现装置,所述装置包括:
诊断命令输入模块,用于对诊断命令进行合法性检查,若合法,则按诊断通道协议将输入参数封装成诊断通道数据包;否则不封装;所述诊断通道数据包通过网络接口发送至诊断命令识别模块;
诊断命令识别模块,用于对封装好的诊断通道数据包进行安全认证检查,若安全,则从所述诊断通道数据包中解析出诊断命令并存入诊断命令缓冲区的诊断命令工作队列中后,唤醒诊断命令调度模块,否则不解析;
诊断命令调度模块,用于从所述诊断命令工作队列中逐一获取诊断命令,对每个所获取的诊断命令均创建相应的诊断命令执行任务;
诊断命令执行模块,用于判断所获取的诊断命令是否通过白名单及可访问路径白名单的安全性检查,若通过,则调度运行相应的诊断命令执行任务来执行该诊断命令,并将诊断结果写入诊断结果缓冲区,否则不执行;
诊断结果发送模块,用于将所述诊断结果按诊断通道协议封装成结果诊断通道数据包,并通过网络接口发送至诊断结果输出模块;
诊断结果输出模块,用于对所述结果诊断通道数据包进行合法性检查,若合法,则从结果诊断通道数据包中解析出诊断结果,并按用户指定的显示样式进行格式化处理和显示,否则不显示。
结合第二方面,优选地,所述诊断命令输入模块和诊断结果输出模块设置于客户端,所述诊断命令识别模块、诊断命令调度模块和诊断结果发送模块设置于设备侧的操作系统的内核态层,所述诊断命令执行模块设置于设备侧的操作系统的用户态层。
与现有技术相比,本发明所达到的有益效果:
一、常见的网络诊断通道对诊断命令缺少必要的安全防护,如果使用不当很容易导致系统行为异常甚至系统重启;本发明方法对诊断通道的用户访问权限、可执行文件访问权限、文件系统路径访问权限等多个安全环节进行安全检查和防护,提高了诊断通道的安全性;
二、本发明方法适用于Linux操作系统和RT-Thread等实时操作系统,诊断通道协议支持二层、三层等多种网络报文封装格式,适用场景丰富;
三、对于只有网络接口的操作系统,当其行为异常时,只能通过网络接口进行系统诊断;常见的SSH、Telnet等网络诊断通道,因为依赖用户态的服务软件,在系统异常时,往往易受影响变得不可用;而本发明提供的装置,位于操作系统内核态层的任务模块,不依赖用户态的服务软件,服务可靠性大大加强;而且诊断命令最终的执行环节放在独立的用户态层的任务中,与内核态层诊断通道相隔离,有利于进一步改善诊断通道和系统的稳定性和安全性;另外很多操作系统存在大量用户态层的诊断命令,使用用户态层运行模块,可以复用已有的大量诊断命令,避免重复开发,提升开发质量和效率;
四、本发明提供的基于网络接口的系统诊断通道实现方法及装置适合具有网络接口的操作系统,可靠性强,安全性高,适用性广,具有较高的实用价值和广阔的应用前景。
附图说明
图1是本发明实施例提供的基于网络接口的系统诊断通道实现方法的流程图;
图2是本发明实施例提供的基于网络接口的系统诊断通道实现装置的结构原理框图。
具体实施方式
下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互组合。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符"/",一般表示前后关联对象是一种“或”的关系。
实施例一:
如图1所示,本实施例介绍一种基于网络接口的系统诊断通道实现方法,具体包括如下步骤:
步骤1:对诊断命令进行合法性检查,若合法,则按诊断通道协议将输入参数封装成诊断通道数据包,否则不封装;
作为本发明的一种实施例,在步骤1中,用户通过诊断通道客户端工具设置诊断通道网络接口、诊断通道网络协议、诊断通道密码和诊断命令等诊断参数后发送给诊断系统;客户端工具可选多种交互形式,可以是命令行形式,也可以是软件交互图形界面或web交互图形界面形式;诊断通道网络协议支持二层、三层或四层等多种网络协议;客户端对输入的诊断命令进行处理,包括对诊断命令的长度、格式等进行合法性检查,通过合法性检查后,按所选择的诊断通道网络协议对诊断命令封装成诊断通道网络数据包,最后通过所选择的诊断通道网络接口发送出去;其中,诊断通道网络协议优选为ICMP网络协议。
步骤2:对封装好的诊断通道数据包进行安全认证检查,若安全,则从所述诊断通道数据包中解析出诊断命令并存入诊断命令缓冲区的诊断命令工作队列中,否则不解析;
作为本发明的一种实施例,在步骤2中,对封装好的诊断通道数据包,首先检查网络数据包是否来自指定诊断通道网络接口、是否具有诊断命令数据包标识符;通过识别后,再对诊断命令数据包中的密码进行安全认证检查,防范非法用户利用诊断通道对系统进行攻击;然后从通过安全检查的诊断通道数据包中解析出诊断命令,并对诊断命令按一定数据组织方式存入缓冲区的诊断命令工作队列中。
步骤3:从所述诊断命令工作队列中逐一获取诊断命令,对每个所获取的诊断命令均创建相应的诊断命令执行任务;
作为本发明的一种实施例,在步骤3中,按一定规则从诊断命令缓冲区的诊断命令工作队列中获取一个诊断命令,并根据多核处理器的工作状态,选取一个合适的处理器核心来运行此诊断命令,创建一个新的用户态诊断命令执行任务,初始化诊断命令执行任务的用户态可执行命令的路径、参数向量、运行环境变量等运行参数,用于最后调度运行诊断命令执行任务。
步骤4:判断所获取的诊断命令是否通过白名单及可访问路径白名单的安全性检查,若通过,则调度运行相应的诊断命令执行任务来执行该诊断命令,并将诊断结果写入诊断结果缓冲区,否则不执行;
进一步的,步骤4对于所获取的诊断命令,只执行通过命令白名单、可访问路径白名单等安全检查的诊断命令,该诊断命令执行获得的诊断结果和日志写入诊断结果缓冲区。
步骤5:将所述诊断结果按诊断通道协议封装成结果诊断通道数据包;
作为本发明的一种实施例,在步骤5中,从诊断结果缓冲区获取封装诊断结果和日志,对诊断结果和日志的长度、格式等进行合法性检查,根据诊断通道数据包的最大长度,决定是否对诊断结果进行数据包拆分处理;诊断结果检查处理完成后,使用诊断通道协议封装诊断结果,并通过网络接口发送出封装好的诊断通道数据包。
步骤6:对所述结果诊断通道数据包进行合法性检查,若合法,则从结果诊断通道数据包中解析出诊断结果,并按用户指定的显示样式进行格式化处理和显示,否则不显示。
作为本发明的一种实施例,在步骤6中,客户端对收到的结果诊断通道数据包进行合法性检查,从结果诊断通道数据包中解析出诊断结果,对分包数据进行合并,获得完整的诊断结果,并按用户指定的显示样式进行格式化处理和显示。
本发明实施例提供的基于网络接口的系统诊断通道实现方法适合具有网络接口的操作系统,可靠性强,安全性高,适用性广,具有较高的实用价值和广阔的应用前景。
实施例二:
如图2所示,本发明实施例提供了一种基于网络接口的系统诊断通道实现装置,可以用于实施实施例一所述的方法,具体包括:
诊断命令输入模块,用于对诊断命令进行合法性检查,若合法,则按诊断通道协议将输入参数封装成诊断通道数据包;否则不封装;所述诊断通道数据包通过网络接口发送至诊断命令识别模块;
诊断命令识别模块,用于对封装好的诊断通道数据包进行安全认证检查,若安全,则从所述诊断通道数据包中解析出诊断命令并存入诊断命令缓冲区的诊断命令工作队列中后,唤醒诊断命令调度模块,否则不解析;
诊断命令调度模块,用于从所述诊断命令工作队列中逐一获取诊断命令,对每个所获取的诊断命令均创建相应的诊断命令执行任务;
诊断命令执行模块,用于判断所获取的诊断命令是否通过白名单及可访问路径白名单的安全性检查,若通过,则调度运行相应的诊断命令执行任务来执行该诊断命令,并将诊断结果写入诊断结果缓冲区,否则不执行;
诊断结果发送模块,用于将所述诊断结果按诊断通道协议封装成结果诊断通道数据包,并通过网络接口发送至诊断结果输出模块;
诊断结果输出模块,用于对所述结果诊断通道数据包进行合法性检查,若合法,则从结果诊断通道数据包中解析出诊断结果,并按用户指定的显示样式进行格式化处理和显示,否则不显示。
作为本发明的一种实施例,所述诊断命令输入模块和诊断结果输出模块设置于客户端,所述诊断命令识别模块、诊断命令调度模块和诊断结果发送模块设置于设备侧的操作系统的内核态层,所述诊断命令执行模块设置于设备侧的操作系统的用户态层。
其中,内核态层和用户态层中的模块运行空间划分形式,其目的是为了改善诊断通道的稳定性和系统的可靠性,另外很多操作系统存在大量用户态层的诊断命令,使用用户态层运行模块,可以复用已有的大量诊断命令,避免重复开发,提升开发质量和效率;进一步说明的是,但是这种划分形式并不是本发明的强制要求,如果使用系统诊断通道的操作系统不区分内核态层和用户态层,如嵌入式实时操作系统FreeRTOS只支持内核态运行空间,则用于该系统诊断通道相关模块都可以运行在相同的运行空间。
下面结合图2,详细说明本发明实施例提供的基于网络接口的系统诊断通道实现装置,在Linux 操作系统下实施实施例一所述的方法,具体过程如下:
通过Python语言实现的诊断通道客户端工具,客户端工具的内部模块包括:诊断命令输入模块和诊断结果输出模块;在Linux操作系统下实现的系统诊断通道功能,Linux系统诊断通道的内核模块包括:Linux内核态层的诊断命令识别模块、诊断命令调度模块、诊断结果发送模块和Linux用户态层的断命令执行模块。
具体的,诊断通道客户端工具的诊断命令输入模块,支持以命令行形式指定IP目的地址、诊断通道密码、诊断命令、超时时间等输入参数,诊断命令输入模块对诊断命令的长度、格式等进行合法性检查,通过合法性检查后,利用ICMP网络协议把输入参数封装为ICMP三层网络数据包格式的诊断通道数据包,发给指定IP目的地址;ICMP网络协议最大支持64K字节传输,借助Linux网络协议栈自动实现IP数据包分片,能较好满足诊断结果数据较大的数据传输场景。
Linux内核态层的诊断命令识别模块,在Linux网络协议栈的ICMP协议处理入口插入检查点;当诊断通道数据包进入Linux网络协议栈的ICMP处理函数入口,插入的检查点对诊断通道数据包的包头信息进行检查,检查项包括诊断通道功能是否使能、诊断通道密码是否有效设置、ICMP数据包是否来自指定诊断通道网络接口、诊断命令数据长度是否合法、诊断命令数据包标识符是否正确、诊断密码是否正确等,所有检查项都通过的ICMP数据包为合法的诊断命令数据包,并从中解析出诊断命令;创建一个诊断命令工作项对象,诊断命令作为工作项对象中的一个属性,将诊断命令工作项对象插入诊断命令工作队列后,唤醒诊断命令调度模块。
诊断命令调度模块,运行一个诊断通道专用的Linux内核工作线程池,用于诊断命令工作队列中的工作项的处理和调度;当有新的诊断命令工作项时,唤醒Linux内核工作线程池,并根据多核处理器的工作状态,选取一个合适的处理器核心和工作线程来处理该诊断命令;工作线程从诊断命令工作队列中获取一个诊断命令,然后创建一个新的诊断命令Linux用户态线程,准备好用户态线程的运行上下文环境,包括用户可执行程序的路径、参数向量、运行环境变量等上下文环境的初始化,获取的诊断命令信息用于初始化用户可执行程序的参数向量,用于最后调度运行此用户态线程来执行相对应的诊断命令。
诊断命令执行模块,是一个用户可执行程序,由shell脚本语言实现,是所有诊断命令的统一入口,用于执行诊断命令;Shell脚本程序维护一份允许使用的命令白名单,命令白名单中只包含经过验证的不会对系统造成危害的诊断命令,只有白名单中的命令才允许执行;另外,shell脚本程序还维护了一份允许访问的路径白名单,路径白名单中只包含允许用户访问的文件系统目录;诊断命令通过安全检查后,执行诊断命令,获得的诊断信息经过字符串格式化,转换成诊断结果格式后,写入诊断结果缓冲区,最后唤醒诊断结果发送模块。
结果发送模块唤醒后,从诊断结果缓冲区读取诊断结果,对诊断结果的长度、格式等进行安全性检查;通过安全性检查后,基于诊断结果,构造ICMP数据包,初始化ICMP数据包的包头和数据区等信息,诊断结果存于ICMP数据包的数据区;最后调用Linux内核ICMP协议发送接口发送出封装好的结果诊断通道数据包。
诊断通道客户端工具的诊断结果输出模块,负责接收结果诊断通道数据包包并显示;如果是分片IP数据包,工具端的操作系统网络协议栈会自动对IP分片重新组装,获得完整的ICMP数据包;如果超过指定超时时间没有接收到数据包,在命令行控制端打印响应的超时提示信息;如果成功收到数据包,诊断结果输出模块对结果诊断通道数据包的ICMP头部进行合法校验,包括ICMP类型、诊断通道标识符等校验检查;ICMP头部校验通过后,诊断结果输出模块从结果诊断通道数据中解析出诊断结果数据,字符串格式化诊断结果数据后,在命令行终端打印显示。
本发明实施例提供的基于网络接口的系统诊断通道实现装置与实施例一提供的基于网络接口的系统诊断通道实现方法基于相同的技术构思,能够产生如实施例一所述的有益效果,在本实施例中未详尽描述的内容可以参见实施例一。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (10)
1.一种基于网络接口的系统诊断通道实现方法,其特征在于,所述方法包括:
对诊断命令进行合法性检查,若合法,则按诊断通道协议将输入参数封装成诊断通道数据包,否则不封装;
对封装好的诊断通道数据包进行安全认证检查,若安全,则从所述诊断通道数据包中解析出诊断命令并存入诊断命令缓冲区的诊断命令工作队列中,否则不解析;
从所述诊断命令工作队列中逐一获取诊断命令,对每个所获取的诊断命令均创建相应的诊断命令执行任务;
判断所获取的诊断命令是否通过白名单及可访问路径白名单的安全性检查,若通过,则调度运行相应的诊断命令执行任务来执行该诊断命令,并将诊断结果写入诊断结果缓冲区,否则不执行;
将所述诊断结果按诊断通道协议封装成结果诊断通道数据包;
对所述结果诊断通道数据包进行合法性检查,若合法,则从结果诊断通道数据包中解析出诊断结果,并按用户指定的显示样式进行格式化处理和显示,否则不显示。
2.根据权利要求1所述的基于网络接口的系统诊断通道实现方法,其特征在于,所述对每个所获取的诊断命令均创建相应的诊断命令执行任务之后还包括:初始化所述诊断命令执行任务的用户态的运行参数。
3.根据权利要求2所述的基于网络接口的系统诊断通道实现方法,其特征在于,所述诊断命令执行任务的用户态的运行参数包括:可执行命令的路径、参数向量、运行环境变量。
4.根据权利要求1所述的基于网络接口的系统诊断通道实现方法,其特征在于,所述对诊断命令进行合法性检查的检查内容包括诊断命令的长度和格式。
5.根据权利要求1所述的基于网络接口的系统诊断通道实现方法,其特征在于,所述输入参数包括指定IP目的地址、诊断通道密码、诊断命令、超时时间。
6.根据权利要求1所述的基于网络接口的系统诊断通道实现方法,其特征在于,对所述诊断通道数据包的进行安全认证检查的检查项包括:诊断通道功能是否使能、诊断通道密码是否有效设置、诊断通道数据包是否来自指定诊断通道网络接口、诊断命令数据长度是否合法、诊断命令数据包标识符是否正确、诊断密码是否正确。
7.根据权利要求1至6任一所述的基于网络接口的系统诊断通道实现方法,其特征在于,所述诊断通道协议为ICMP网络协议。
8.根据权利要求7所述的基于网络接口的系统诊断通道实现方法,其特征在于,对所述结果诊断通道数据包进行合法性检查的检查内容包括:ICMP类型和诊断通道标识符的校验检查。
9.一种基于网络接口的系统诊断通道实现装置,其特征在于,所述装置包括:
诊断命令输入模块,用于对诊断命令进行合法性检查,若合法,则按诊断通道协议将输入参数封装成诊断通道数据包;否则不封装;所述诊断通道数据包通过网络接口发送至诊断命令识别模块;
诊断命令识别模块,用于对封装好的诊断通道数据包进行安全认证检查,若安全,则从所述诊断通道数据包中解析出诊断命令并存入诊断命令缓冲区的诊断命令工作队列中后,唤醒诊断命令调度模块,否则不解析;
诊断命令调度模块,用于从所述诊断命令工作队列中逐一获取诊断命令,对每个所获取的诊断命令均创建相应的诊断命令执行任务;
诊断命令执行模块,用于判断所获取的诊断命令是否通过白名单及可访问路径白名单的安全性检查,若通过,则调度运行相应的诊断命令执行任务来执行该诊断命令,并将诊断结果写入诊断结果缓冲区,否则不执行;
诊断结果发送模块,用于将所述诊断结果按诊断通道协议封装成结果诊断通道数据包,并通过网络接口发送至诊断结果输出模块;
诊断结果输出模块,用于对所述结果诊断通道数据包进行合法性检查,若合法,则从结果诊断通道数据包中解析出诊断结果,并按用户指定的显示样式进行格式化处理和显示,否则不显示。
10.根据权利要求9所述的基于网络接口的系统诊断通道实现装置,其特征在于,所述诊断命令输入模块和诊断结果输出模块设置于客户端,所述诊断命令识别模块、诊断命令调度模块和诊断结果发送模块设置于设备侧的操作系统的内核态层,所述诊断命令执行模块设置于设备侧的操作系统的用户态层。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210962585.XA CN115333977B (zh) | 2022-08-11 | 2022-08-11 | 一种基于网络接口的系统诊断通道实现方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210962585.XA CN115333977B (zh) | 2022-08-11 | 2022-08-11 | 一种基于网络接口的系统诊断通道实现方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115333977A true CN115333977A (zh) | 2022-11-11 |
CN115333977B CN115333977B (zh) | 2023-08-15 |
Family
ID=83923706
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210962585.XA Active CN115333977B (zh) | 2022-08-11 | 2022-08-11 | 一种基于网络接口的系统诊断通道实现方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115333977B (zh) |
Citations (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020080784A1 (en) * | 2000-12-21 | 2002-06-27 | 802 Systems, Inc. | Methods and systems using PLD-based network communication protocols |
US20030014207A1 (en) * | 2001-07-12 | 2003-01-16 | Seagate Technology Llc | Remote execution of diagnostic firmware in a block data storage device |
KR20070101515A (ko) * | 2006-04-11 | 2007-10-17 | 이남규 | 선물 및 홍보용 유에스비 장치와 특정 유에스비 장치에서버를 통한 원격 데이터 전송 방법 |
CN103929428A (zh) * | 2014-04-24 | 2014-07-16 | 吴刚 | 一种实现车载电子信息系统通信安全的方法 |
CN104391190A (zh) * | 2014-10-10 | 2015-03-04 | 中国电子科技集团公司第四十一研究所 | 一种用于测量仪器的远程诊断系统及诊断方法 |
WO2015058653A1 (zh) * | 2013-10-25 | 2015-04-30 | 华为终端有限公司 | 故障诊断的方法、设备及系统 |
US20150195182A1 (en) * | 2014-01-09 | 2015-07-09 | Citrix Systems, Inc | Systems and methods for cloud-based probing and diagnostics |
US20150289152A1 (en) * | 2014-04-04 | 2015-10-08 | Cellco Partnership D/B/A Verizon Wireless | Remote diagnostics for mobile devices |
KR101580568B1 (ko) * | 2014-11-12 | 2015-12-28 | 주식회사 유라코퍼레이션 | 차량용 진단 통신 장치 및 방법 |
IT201600109368A1 (it) * | 2016-10-28 | 2018-04-28 | Magneti Marelli Spa | "Dispositivo di protezione da attacchi informatici al veicolo tramite connettore diagnostico e corrispondente procedimento" |
CN108540516A (zh) * | 2017-03-06 | 2018-09-14 | 中兴通讯股份有限公司 | 一种运行状态信息获取方法、控制终端、网络设备及系统 |
CN109669829A (zh) * | 2018-12-24 | 2019-04-23 | 浪潮电子信息产业股份有限公司 | 一种基于bmc的诊断调试方法、装置及服务器 |
KR102156359B1 (ko) * | 2020-03-02 | 2020-09-16 | 주식회사 이글루시큐리티 | 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인방법 및 그 시스템 |
KR102160950B1 (ko) * | 2020-03-30 | 2020-10-05 | 주식회사 이글루시큐리티 | 보안취약점 점검 시 데이터 분산처리 시스템 및 그 방법 |
CN111831520A (zh) * | 2019-04-17 | 2020-10-27 | 烽火通信科技股份有限公司 | 用于Linux操作系统的故障诊断方法及系统 |
CN111953529A (zh) * | 2020-07-28 | 2020-11-17 | 深圳供电局有限公司 | 一种程控交换机的自诊断方法及系统 |
CN112068528A (zh) * | 2020-08-28 | 2020-12-11 | 深圳市元征科技股份有限公司 | 诊断设备验证方法、车辆、设备及服务器 |
CN112329008A (zh) * | 2020-11-27 | 2021-02-05 | 南京邮电大学 | 一种基于内核调试器的虚拟化逃逸防御方法 |
CN112383452A (zh) * | 2021-01-15 | 2021-02-19 | 奥特酷智能科技(南京)有限公司 | 基于dpdk框架的dds数据传输诊断方法及系统 |
CN113377590A (zh) * | 2021-06-09 | 2021-09-10 | 东软睿驰汽车技术(沈阳)有限公司 | 一种故障诊断方法、装置、车载终端及介质 |
EP3968575A1 (en) * | 2015-12-16 | 2022-03-16 | Panasonic Intellectual Property Corporation of America | Security processing method and server |
WO2022052972A1 (zh) * | 2020-09-11 | 2022-03-17 | 中国银联股份有限公司 | 一种网络终端认证的方法及装置 |
CN114244758A (zh) * | 2021-12-13 | 2022-03-25 | 武汉斗鱼鱼乐网络科技有限公司 | 安卓平台的网络诊断方法、存储介质、电子设备及系统 |
CN114338073A (zh) * | 2021-11-09 | 2022-04-12 | 江铃汽车股份有限公司 | 车载网络的防护方法、系统、存储介质及设备 |
-
2022
- 2022-08-11 CN CN202210962585.XA patent/CN115333977B/zh active Active
Patent Citations (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020080784A1 (en) * | 2000-12-21 | 2002-06-27 | 802 Systems, Inc. | Methods and systems using PLD-based network communication protocols |
US20030014207A1 (en) * | 2001-07-12 | 2003-01-16 | Seagate Technology Llc | Remote execution of diagnostic firmware in a block data storage device |
KR20070101515A (ko) * | 2006-04-11 | 2007-10-17 | 이남규 | 선물 및 홍보용 유에스비 장치와 특정 유에스비 장치에서버를 통한 원격 데이터 전송 방법 |
WO2015058653A1 (zh) * | 2013-10-25 | 2015-04-30 | 华为终端有限公司 | 故障诊断的方法、设备及系统 |
US20150195182A1 (en) * | 2014-01-09 | 2015-07-09 | Citrix Systems, Inc | Systems and methods for cloud-based probing and diagnostics |
US20150289152A1 (en) * | 2014-04-04 | 2015-10-08 | Cellco Partnership D/B/A Verizon Wireless | Remote diagnostics for mobile devices |
CN103929428A (zh) * | 2014-04-24 | 2014-07-16 | 吴刚 | 一种实现车载电子信息系统通信安全的方法 |
CN104391190A (zh) * | 2014-10-10 | 2015-03-04 | 中国电子科技集团公司第四十一研究所 | 一种用于测量仪器的远程诊断系统及诊断方法 |
KR101580568B1 (ko) * | 2014-11-12 | 2015-12-28 | 주식회사 유라코퍼레이션 | 차량용 진단 통신 장치 및 방법 |
EP3968575A1 (en) * | 2015-12-16 | 2022-03-16 | Panasonic Intellectual Property Corporation of America | Security processing method and server |
IT201600109368A1 (it) * | 2016-10-28 | 2018-04-28 | Magneti Marelli Spa | "Dispositivo di protezione da attacchi informatici al veicolo tramite connettore diagnostico e corrispondente procedimento" |
CN108540516A (zh) * | 2017-03-06 | 2018-09-14 | 中兴通讯股份有限公司 | 一种运行状态信息获取方法、控制终端、网络设备及系统 |
CN109669829A (zh) * | 2018-12-24 | 2019-04-23 | 浪潮电子信息产业股份有限公司 | 一种基于bmc的诊断调试方法、装置及服务器 |
CN111831520A (zh) * | 2019-04-17 | 2020-10-27 | 烽火通信科技股份有限公司 | 用于Linux操作系统的故障诊断方法及系统 |
KR102156359B1 (ko) * | 2020-03-02 | 2020-09-16 | 주식회사 이글루시큐리티 | 사전명령 전송을 통한 취약점 진단 명령어 실행여부 확인방법 및 그 시스템 |
KR102160950B1 (ko) * | 2020-03-30 | 2020-10-05 | 주식회사 이글루시큐리티 | 보안취약점 점검 시 데이터 분산처리 시스템 및 그 방법 |
CN111953529A (zh) * | 2020-07-28 | 2020-11-17 | 深圳供电局有限公司 | 一种程控交换机的自诊断方法及系统 |
CN112068528A (zh) * | 2020-08-28 | 2020-12-11 | 深圳市元征科技股份有限公司 | 诊断设备验证方法、车辆、设备及服务器 |
WO2022052972A1 (zh) * | 2020-09-11 | 2022-03-17 | 中国银联股份有限公司 | 一种网络终端认证的方法及装置 |
CN112329008A (zh) * | 2020-11-27 | 2021-02-05 | 南京邮电大学 | 一种基于内核调试器的虚拟化逃逸防御方法 |
CN112383452A (zh) * | 2021-01-15 | 2021-02-19 | 奥特酷智能科技(南京)有限公司 | 基于dpdk框架的dds数据传输诊断方法及系统 |
CN113377590A (zh) * | 2021-06-09 | 2021-09-10 | 东软睿驰汽车技术(沈阳)有限公司 | 一种故障诊断方法、装置、车载终端及介质 |
CN114338073A (zh) * | 2021-11-09 | 2022-04-12 | 江铃汽车股份有限公司 | 车载网络的防护方法、系统、存储介质及设备 |
CN114244758A (zh) * | 2021-12-13 | 2022-03-25 | 武汉斗鱼鱼乐网络科技有限公司 | 安卓平台的网络诊断方法、存储介质、电子设备及系统 |
Non-Patent Citations (2)
Title |
---|
IEEE: "Telecommunications and information exchange between systems -- Local and metropolitan area networks -- Part 1AE: Media access control (MAC) security", 《ISO/IEC/IEEE 8802-1AE:2013(E) 》 * |
J. KOSTURKO, E. SCHLIEBER, S. FUTCH AND S. NIELSON: "Cracking a Continuous Flow Reactor: A Vulnerability Assessment for Chemical Additive Manufacturing Devices", 《2018 IEEE INTERNATIONAL SYMPOSIUM ON TECHNOLOGIES FOR HOMELAND SECURITY (HST)》 * |
Also Published As
Publication number | Publication date |
---|---|
CN115333977B (zh) | 2023-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20090204848A1 (en) | Automatic grammar based fault detection and isolation | |
CN112054996B (zh) | 一种蜜罐系统的攻击数据获取方法、装置 | |
CN109800160B (zh) | 机器学习系统中的集群服务器故障测试方法和相关装置 | |
KR101221045B1 (ko) | 패킷 처리 방법 및 이를 이용한 toe 장치 | |
CN112714047A (zh) | 基于工控协议流量的测试方法、装置、设备及存储介质 | |
CN113794605A (zh) | 一种基于eBPF的内核丢包检测方法、系统和装置 | |
CN110187986B (zh) | 一种命令管理方法、系统、装置及计算机可读存储介质 | |
CN111831538A (zh) | 调试方法、装置以及存储介质 | |
CN107370622A (zh) | 一种虚拟机复用宿主机mac和ip的方法及系统 | |
CN113535532B (zh) | 故障注入系统、方法和装置 | |
CN110990115A (zh) | 针对蜜罐的容器化部署管理系统及其方法 | |
CN113709162A (zh) | 内网数据的获取方法、装置、设备及存储介质 | |
CN111669371A (zh) | 一种适用于电力网络的网络攻击还原系统及方法 | |
CN116743619B (zh) | 网络服务的测试方法、装置、设备及存储介质 | |
CN112565232B (zh) | 一种基于模板和流量状态的日志解析方法及系统 | |
CN115333977B (zh) | 一种基于网络接口的系统诊断通道实现方法及装置 | |
CN114002987A (zh) | 一种获取日志信息的方法、装置、电子设备及介质 | |
CN112615831A (zh) | 一种基于工业互联网的漏洞扫描平台、方法、设备及介质 | |
CN112311943B (zh) | 一种数据扫描优化方法、装置、系统及相关组件 | |
CN110943893B (zh) | 服务器间连通性的验证方法及装置 | |
CN105407075B (zh) | 业务逻辑的实现方法和系统 | |
CN106598803A (zh) | 一种可远程监测主机系统运行的方法 | |
CN109086200B (zh) | 一种基于安卓虚拟机修改的有效测试框架 | |
CN113778709A (zh) | 接口调用方法、装置、服务器及存储介质 | |
CN112181816A (zh) | 一种基于场景的接口测试方法、装置、计算机设备及介质 |
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 |