CN106909435A - 一种网络安全设备命令行的解析方法和装置 - Google Patents

一种网络安全设备命令行的解析方法和装置 Download PDF

Info

Publication number
CN106909435A
CN106909435A CN201510971685.9A CN201510971685A CN106909435A CN 106909435 A CN106909435 A CN 106909435A CN 201510971685 A CN201510971685 A CN 201510971685A CN 106909435 A CN106909435 A CN 106909435A
Authority
CN
China
Prior art keywords
command
node
command format
symbol
sequence
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
Application number
CN201510971685.9A
Other languages
English (en)
Other versions
CN106909435B (zh
Inventor
汪海
孟庆森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING LEADSEC TECHNOLOGY CO LTD
Venustech Group Inc
Original Assignee
BEIJING LEADSEC TECHNOLOGY CO LTD
Venustech Group Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by BEIJING LEADSEC TECHNOLOGY CO LTD, Venustech Group Inc filed Critical BEIJING LEADSEC TECHNOLOGY CO LTD
Priority to CN201510971685.9A priority Critical patent/CN106909435B/zh
Publication of CN106909435A publication Critical patent/CN106909435A/zh
Application granted granted Critical
Publication of CN106909435B publication Critical patent/CN106909435B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/20Network management software packages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Devices For Executing Special Programs (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种网络安全设备命令行的解析方法和装置,包括:加载模块、解析模块和匹配模块,通过加载命令链表中按照预定的命令格式规范设置的命令格式串,对加载后的命令格式串进行词法分析,并对词法分析的结果按照采用巴克斯范式语言描述的预定语法规则进行语法分析,从而生成该命令链表的命令解析树和位图特征码矩阵,由命令解析树对输入的命令字符串进行解析获取位图特征码,并将解析后的位图特征码与位图特征码矩阵进行匹配,执行匹配成功后所对应的命令操作,这样根据命令格式串自动构建命令解析树,自动完成输入的命令字符串的相关逻辑解析,从而无需手动编写命令行的解析流程,进而使得命令行解析的过程更加简单,高效,准确。

Description

一种网络安全设备命令行的解析方法和装置
技术领域
本发明涉及互联网技术领域,尤指一种网络安全设备命令行的解析方法和装置。
背景技术
目前,命令行是通过输入命令来实现对网络安全设备的管理和监控,一般是通过串口或安全外壳协议(Secure Shell,简称:SSH)连接到设备,使用网络产品界面设计(Website User Interface,简称:WEB UI)的方式来管理和监控设备,因此,命令行方式依然是各种网络安全设备最基础,最强大的管理方式,尤其在某些特殊场景下命令行仍是不可或缺的,同时也是最难掌握的。
现有技术中,随着网络安全设备的功能特性不断增多,提供的命令行也不断增多,复杂度也不断提高,一直以来在命令行开发过程中,基本上都是手动编写命令行解析流程,并执行相关操作逻辑。
但是,采用现有技术,手动编写命令行解析流程工作量较大,且很多都是重复劳动,导致容易出错,且难于调试和维护。
发明内容
为了解决上述技术问题,本发明提供了一种网络安全设备命令行的解析方法和装置,能够根据命令格式串自动构建命令解析树,自动完成相关逻辑解析,无需手动编写命令行来解析流程,从而可以使得命令行解析过程更加简单,高效,准确。
第一方面,本发明实施例提供一种网络安全设备命令行的解析方法,该方法包括:
加载命令链表中按照预定的命令格式规范设置的命令格式串;
对加载的命令格式串进行词法分析,并根据词法分析的结果按照采用巴克斯范式语言描述的预定语法规则进行语法分析,生成所述命令链表的命令解析树和位图特征码矩阵;
使用命令解析树对输入的命令字符串进行解析获取位图特征码,并将解析后的位图特征码与位图特征码矩阵进行匹配,执行匹配成功后所对应的命令操作。
第二方面,本发明实施例提供一种网络安全设备命令行的解析装置,该装置包括:加载模块、解析模块和匹配模块;
加载模块,用于加载命令链表中按照预定的命令格式规范设置的命令格式串;
解析模块,用于对加载后的命令格式串进行词法分析,并对词法分析的结果按照采用巴克斯范式语言描述的预定语法规则进行语法分析,生成所述命令链表的命令解析树和位图特征码矩阵;
匹配模块,用于使用命令解析树对输入的命令字符串进行解析获取位图特征码,并将解析后的位图特征码与位图特征码矩阵进行匹配,执行匹配成功后所对应的命令操作。
本发明实施例提供的一种网络安全设备命令行的解析方法和装置,包括加载模块、解析模块、匹配模块,通过加载命令链表中按照预定的命令格式规范设置的命令格式串,对加载后的命令格式串进行词法分析,并对词法分析的结果按照采用巴克斯范式语言描述的预定语法规则进行语法分析,从而生成该命令链表的命令解析树和位图特征码矩阵,由命令解析树对输入的命令字符串进行解析获取位图特征码,并将解析后的位图特征码与位图特征码矩阵进行匹配,执行匹配成功后所对应的命令操作,这样根据命令格式串自动构建命令解析树,自动完成输入的命令字符串的相关逻辑解析,从而无需手动编写命令行的解析流程,进而使得命令行解析的过程更加简单,高效,准确。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为本发明提供的一种网络安全设备命令行的解析方法实施例一的流程示意图;
图2为本发明提供的一种网络安全设备命令行的解析方法实施例二的命令行语法分析图;
图3为本发明提供的一种网络安全设备命令行的解析方法实施例三的左向规约图;
图4为本发明提供的一种网络安全设备命令行的解析方法实施例四的右向规约图;
图5为本发明提供的一种网络安全设备命令行的解析装置实施例一的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本发明实施例涉及的方法可以应用于网络安全设备,例如:路由器、防火墙、IDS/IPS、SSL、负载均衡、VPN(ssl vpn/ipsec vpn)、UTM、防病毒网关、抗DDOS设备、NAC、网闸、IPAM等,但并不以此为限。
本发明实施例涉及的方法,旨在解决现有技术中的手动编写命令行解析流程工作量较大,且很多都是重复劳动,导致容易出错,且难于调试和维护的技术问题。
下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图1为本发明提供的一种网络安全设备命令行的解析方法实施例一的流程示意图,本实施例涉及的是自动解析命令来执行相关操作的具体过程。如图1所示,该方法包括:
S101、命令格式规范加载命令链表中按照预定的命令格式规范设置的命令格式串。
具体的,所述命令链表包括所有按照预定的命令格式规范设置的命令格式串,所述命令格式串为能够被正确解析并执行的格式串,具体格式根据每个命令功能的不同而不同,依次加载该命令链表中的每一条命令格式串,对每一条命令格式串进行词法分析和语法分析,直至该命令链表中的命令格式串加载至空为止。
S102、加载的命令格式串进行词法分析,并根据词法分析的结果按照采用巴克斯范式语言描述的预定语法规则进行语法分析,生成所述命令链表的命令解析树和位图特征码矩阵。
具体的,对加载后的命令格式串进行词法分析,分析出该命令格式串的命令名和命令参数,其中,该命令名为命令格式串中第一个关键字,该命令参数为命令格式串中除命令名之外的关键字。根据词法分析出该命令行的命令名和命令参数再按照预定的语法规则进行语法分析,该语法规则是采用巴克斯范式语言进行描述的,从而可以生成该命令链表的命令解析树和位图特征码矩阵以便后续根据输入的命令字符串查询对应的命令格式来执行对应的命令操作。
S103、使用命令解析树对输入的命令字符串进行解析获取位图特征码,并将解析后的位图特征码与位图特征码矩阵进行匹配,执行匹配成功后所对应的命令操作。
当在终端设备输入命令字符串时,使用命令解析树对输入的命令字符串进行解析,生成该命令字符串的位图特征码,其中,该命令字符串是终端输入的一行文本字符串,通过解析获取到该命令字符串的位图特征码,并将该命令字符窜的位图特征码与位图特征码矩阵进行匹配,找到所属的命令格式串串,执行对应的命令操作。
本发明实施例提供的一种网络安全设备命令行的解析方法,该方法通过加载命令链表中按照预定的命令格式规范设置的命令格式串,对加载后的命令格式串进行词法分析,并对词法分析的结果按照采用巴克斯范式语言描述的预定语法规则进行语法分析,从而生成该命令链表的命令解析树和位图特征码矩阵,由命令解析树对输入的命令字符串进行解析获取位图特征码,并将解析后的位图特征码与位图特征码矩阵进行匹配,执行匹配成功后所对应的命令操作,这样根据命令格式串自动构建命令解析树,自动完成输入的命令字符串的相关逻辑解析,从而无需手动编写命令行的解析流程,进而使得命令行解析的过程更加简单,高效,准确。
进一步地,在上述实施例的基础上,上述步骤101中预定的命令格式规范,包括:
命令格式串中关于“顺序排列”、“或”、“可选”和“优先”关系的命令格式,其中,所述命令格式串包括命令名及一个或多个按预定顺序排列的命令参数;
所述“顺序排列”关系的命令格式是连续将多个命令参数进行顺序排列;
所述“或”关系的命令格式是使用分隔号将多个命令参数分隔起来;
所述“可选”关系的命令格式是使用中括号将至少一个命令参数括起来;
所述“优选”关系的命令格式是使用大括号将至少一个命令参数括起来。
具体的,根据上述预定的命令格式规范,举例说明如下:“user add name<name>”为user命令的命令格式串,其中user为命令名,add和name为固定式参数,<name>为格式化参数,在输入命令字符串时必须满足<name>的格式的合法性要求,命令才能正确执行,但并不以此为限。
具体的,对于可选命令参数,继续举例说明如下:“user add name<name>[phone<phone>]”的user命令的命令格式串,其中“[phone<phone>]”为可选命令参数,如果输入的命令字符串参数<name>的后边不包含phone<phone>格式的字符串时,设备会默认phone为空进行配置下发,但并不限于此。
具体的,对于优先组合命令参数及多个命令参数的或的关系,继续举例说明如下:“user add name<name>[phone<phone>]status{on|off}”的user命令的命令格式串,这种情况下输入命令字符串中status后面可以是on和off其中一个,但并不限于此。
通过上述预定的命令格式规范,可以自动按照该命令格式串解析命令字符串,检查相对应的命令格式,执行对应的命令操作,从而大幅减少由于编写解析流程而产生的工作量,减少了代码冗余,降低了解析过程中出错的概率,提高了命令行开发的效率,节省了项目资源,缩短了项目周期。
进一步地,在上述实施例的基础上,上述步骤102中所述采用巴克斯范式语言描述的预定语法规则包括:
其中,符号ROOT在所述命令解析树中代表根节点,符号SEQUENCE在所述命令解析树中代表所述“顺序排列”关系的命令格式的节点,符号OR在所述命令解析树中代表所所述“或”关系的命令格式的节点,符号OPTION在所述命令解析树中代表“可选”关系的命令格式的节点,符号MERGE在所述命令解析树中代表“优先”关系的命令格式的节点。
具体的,图2为本发明提供的一种网络安全设备命令行的解析方法实施例二的命令行语法分析图,根据上述预定的巴克斯范式对词法分析的结果进行语法分析,举例说明如下:如“user add name<name>[phone<phone>]status{on|off}”user命令的命令格式串经过语法分析后,生成的命令解析树如图2所示,但并不限于此。
通过上述采用巴克斯范式语言描述的语法规则对命令格式串进行语法分析,从而可以自动构建命令解析树,大幅减少由于编写解析流程而产生的工作量,减少了代码冗余,降低了解析过程中出错的概率,提高了命令行开发的效率,节省了项目资源,缩短了项目周期。
进一步地,在上述实施例的基础上,上述步骤102中所述命令解析树按照向左规约和向右规约进行合并。
具体的,所述命令解析树是一个二叉树,所述二叉树的左右两侧可以分别对应一个子树、一个节点或者一个命令参数,为简化命令解析树的大小,在生成命令解析树后,都需要进行规约处理,其中该规约分为两种,一种是左向规约,另一种是右向规约,但并不限于此。
进一步地,在上述实施例的基础上,上述左向规约包括:
当节点OR的左右子树的第一命令参数和第二命令参数相同时,则用相同的命令参数来表示。
在所述命令解析树有符号OR代表的第一节点中,若所述第一节点的右子树和左子树的命令格式有部分相同,则将所述符号OR代表的第一节点替换成符号SEQUENCE代表的第二节点,其中,将部分相同的命令格式提取出放置在所述第二节点的左子树,若所述第一节点的右子树和左子树的命令格式全部相同,则将所述符号OR代表的第一节点替换成全部相同的命令格式。
具体的,图3为本发明提供的一种网络安全设备命令行的解析方法实施例三的左向规约图,如图3所示,所述左向规约主要是针对命令解析树中有符号OR代表的节点的情况,一共有四种情况,在此一一举例说明如下:
当节点OR的左右子树相同时,则按照图3中(A)情况进行转换,在所述命令格式规范中相当于“a|a”,则可以转化为“a”;
当节点OR的右子树为SEQUENCE类型节点,且节点OR的左子树与SEQUENCE节点的左子树相同时,则按照图3中(B)情况进行转换,在所述命令格式规范中相当于“a|a b”,则可以转化为“a[b]”;
当节点OR的左子树为SEQUENCE类型节点,且节点OR的右子树与SEQUENCE节点的左子树相同时,则按照图3中(C)情况进行转换,在所述命令格式规范中相当于“a b|a”,则可以转化为“a[b]”;
当节点OR的左子树和右子树都为SEQUENCE类型节点,且节点OR左子树的SEQUENCE节点的左子树与OR右子树的SEQUENCE节点的左子树相同时,则按照图3中(D)情况进行转换,在所述命令格式规范中相当于“a b|a c”,则可以转化为“a{b|c}。”
上述举例中的a、b、c是命令格式的表示符号,其在命令解析树中可以是一个子树,也可以是一个节点,还可以是一个命令参数,但并不以此为限。
进一步地,在上述实施例的基础上,上述右向规约包括:
在所述命令解析树有符号OR代表的第三节点中,若所述第三节点的左子树和右子树的命令格式有部分相同,则将所述符号OR代表的第三节点替换成符号SEQUENCE代表的第四节点,其中,将部分相同的命令格式提取出放置在所述第四节点的右子树,若所述第三节点的左子树和右子树的命令格式全部相同,则将所述符号OR代表的第三节点替换成全部相同的命令格式。
具体的,图4为本发明提供的一种网络安全设备命令行的解析方法实施例四的右向规约图,如图4所示,所述右向规约主要是针对命令解析树中有符号OR代表的节点的情况,一共有四种情况,在此一一举例说明如下::
当节点OR的左右子树相同时,则按照图4中(A)情况进行转换,在所述命令格式规范中相当于“a|a”,则可以转化为“a”的形式。
当节点OR的左子树为SEQUENCE类型节点,且节点OR的右子树与SEQUENCE节点的右子树相同时,则按照图4中(B)情况进行转换,在所述命令格式规范中相当于“b|a b”,则可以转化为“b[a]”。
当节点OR的右子树为SEQUENCE类型节点,且节点OR的左子树与SEQUENCE节点的右子树相同时,则按照图4中(C)情况进行转换,在所述命令格式规范中相当于“b a|b”,则可以转化为“b[a]”。
当节点OR的左子树和右子树都为SEQUENCE类型节点,且节点OR左子树的SEQUENCE节点的右子树与OR右子树的SEQUENCE节点的右子树相同时,则按照图4中(D)情况进行转换,在所述命令格式规范中相当于“a b|c b”,则可以转化为“b{a|c}。”
上述举例中的a、b、c是命令格式的表示符号,其在命令解析树中可以是一个子树,也可以是一个节点,还可以是一个命令参数,但并不以此为限。
通过上述左向规约和右向规约,能够反向输出转换后的命令格式串,减少了代码冗余,降低了解析过程中出错的概率,提高了命令行开发的效率,节省了项目资源,缩短了项目周期。
进一步地,在上述实施例的基础上,所述位图特征码为命令解析树中各节点的有序位图映射。
具体的,位图特征码本质上是命令解析树中各节点的有序位图映射,而命令链表中的多个命令格式串会组成一个位图特征码矩阵。其中,位图特征码是在语法分析每个命令格式串的同时,生成的该命令格式串的位图特征码,从而构建成位图特征码矩阵,以便后续用来将设备终端输入的命令字符串的位图特征码与位图特征码矩阵进行匹配,从而找到所对应的命令格式串,执行对应的命令操作。
进一步地,图5为本发明提供的一种网络安全设备命令行的解析装置实施例一的结构示意图,如图5所示,该装置包括:加载模块10、解析模块20和匹配模块30;
所述加载模块10,用于加载命令链表中按照预定的命令格式规范设置的命令格式串;
所述解析模块20,用于对加载的命令格式串进行词法分析,并根据词法分析的结果按照采用巴克斯范式语言描述的预定语法规则进行语法分析,生成所述命令链表的命令解析树和位图特征码矩阵;
所述匹配模块30,用于使用命令解析树对输入的命令字符串进行解析获取位图特征码,并将解析后的位图特征码与位图特征码矩阵进行匹配,执行匹配成功后所对应的命令操作。
本发明实施例提供的一种网络安全设备命令行的解析装置,包括加载模块、解析模块和匹配模块,通过加载命令链表中按照预定的命令格式规范设置的命令格式串,对加载后的命令格式串进行词法分析,并对词法分析的结果按照采用巴克斯范式语言描述的预定语法规则进行语法分析,从而生成该命令链表的命令解析树和位图特征码矩阵,由命令解析树对输入的命令字符串进行解析获取位图特征码,并将解析后的位图特征码与位图特征码矩阵进行匹配,执行匹配成功后所对应的命令操作,这样根据命令格式串自动构建命令解析树,自动完成输入的命令字符串的相关逻辑解析,从而无需手动编写命令行的解析流程,进而使得命令行解析的过程更加简单,高效,准确。
进一步地,在上述实施例的基础上,所述预定的命令格式规范,包括:
命令格式串中关于“顺序排列”、“或”、“可选”和“优先”关系的命令格式,其中,所述命令格式串包括命令名及一个或多个按预定顺序排列的命令参数;
所述“顺序排列”关系的命令格式是连续将多个命令参数进行顺序排列;
所述“或”关系的命令格式是使用分隔号将多个命令参数分隔起来;
所述“可选”关系的命令格式是使用中括号将至少一个命令参数括起来;
所述“优选”关系的命令格式是使用大括号将至少一个命令参数括起来。
本发明实施例提供的装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
进一步地,在上述实施例的基础上,所述采用巴克斯范式语言描述的预定语法规则包括:
其中,符号ROOT在所述命令解析树中代表根节点,符号SEQUENCE在所述命令解析树中代表所述“顺序排列”关系的命令格式的节点,符号OR在所述命令解析树中代表所所述“或”关系的命令格式的节点,符号OPTION在所述命令解析树中代表“可选”关系的命令格式的节点,符号MERGE在所述命令解析树中代表“优先”关系的命令格式的节点。
本发明实施例提供的装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
进一步地,在上述实施例的基础上,所述命令解析树按照向左规约和向右规约进行合并。
本发明实施例提供的装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
进一步地,在上述实施例的基础上,所述左向规约包括:
在所述命令解析树有符号OR代表的第一节点中,若所述第一节点的右子树和左子树的命令格式有部分相同,则将所述符号OR代表的第一节点替换成符号SEQUENCE代表的第二节点,其中,将部分相同的命令格式提取出放置在所述第二节点的左子树,若所述第一节点的右子树和左子树的命令格式全部相同,则将所述符号OR代表的第一节点替换成全部相同的命令格式。
本发明实施例提供的装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
进一步地,在上述实施例的基础上,所述右向规约包括:
在所述命令解析树有符号OR代表的第三节点中,若所述第三节点的左子树和右子树的命令格式有部分相同,则将所述符号OR代表的第三节点替换成符号SEQUENCE代表的第四节点,其中,将部分相同的命令格式提取出放置在所述第四节点的右子树,若所述第三节点的左子树和右子树的命令格式全部相同,则将所述符号OR代表的第三节点替换成全部相同的命令格式。
本发明实施例提供的装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
进一步地,在上述实施例的基础上,所述位图特征码为命令解析树中各节点的有序位图映射。
本发明实施例提供的装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

Claims (14)

1.一种网络安全设备命令行的解析方法,其特征在于,所述方法包括:
加载命令链表中按照预定的命令格式规范设置的命令格式串;
对加载的命令格式串进行词法分析,并根据词法分析的结果按照采用巴克斯范式语言描述的预定语法规则进行语法分析,生成所述命令链表的命令解析树和位图特征码矩阵;
使用命令解析树对输入的命令字符串进行解析获取位图特征码,并将解析后的位图特征码与位图特征码矩阵进行匹配,执行匹配成功后所对应的命令操作。
2.根据权利要求1所述的方法,其特征在于,所述预定的命令格式规范,包括:
命令格式串中关于“顺序排列”、“或”、“可选”和“优先”关系的命令格式,其中,所述命令格式串包括命令名及一个或多个按预定顺序排列的命令参数;
所述“顺序排列”关系的命令格式是连续将多个命令参数进行顺序排列;
所述“或”关系的命令格式是使用分隔号将多个命令参数分隔起来;
所述“可选”关系的命令格式是使用中括号将至少一个命令参数括起来;
所述“优选”关系的命令格式是使用大括号将至少一个命令参数括起来。
3.根据权利要求1所述的方法,其特征在于,所述采用巴克斯范式语言描述的预定语法规则,包括:
ROOT::=KEYWORD
|KEYWORD SEQUENCE
SEQUENCE::=STABLE
|UNSTABLE
|STABLE UNSTABLE
|SEQUENCE STABLE
|SEQUENCE STABLE UNSTABLE
STABLE::=KEYWORD
|MERGE
UNSTABLE::=OPTION
|OPTIONS
OR::=SEQUENCE“|”SEQUENCE
|OR“|”SEQUENCE
MERGE::=“{”OR“}”
|“{”SEQUENCE“}”
OPTIONS::=DOPTION
|OPTIONS OPTION
DOPTION::=OPTION OPTION
OPTION::=“[”OR“]”
|“[”SEQUENCE“]”
其中,符号ROOT在所述命令解析树中代表根节点,符号SEQUENCE在所述命令解析树中代表所述“顺序排列”关系的命令格式的节点,符号OR在所述命令解析树中代表所述“或”关系的命令格式的节点,符号OPTION在所述命令解析树中代表“可选”关系的命令格式的节点,符号MERGE在所述命令解析树中代表“优先”关系的命令格式的节点。
4.根据权利要求3所述的方法,其特征在于,所述命令解析树按照向左规约和向右规约进行合并。
5.根据权利要求4所述的方法,其特征在于,所述左向规约包括:
在所述命令解析树有符号OR代表的第一节点中,若所述第一节点的右子树和左子树的命令格式有部分相同,则将所述符号OR代表的第一节点替换成符号SEQUENCE代表的第二节点,其中,将部分相同的命令格式提取出放置在所述第二节点的左子树,若所述第一节点的右子树和左子树的命令格式全部相同,则将所述符号OR代表的第一节点替换成全部相同的命令格式。
6.根据权利要求4所述的方法,其特征在于,所述右向规约包括:
在所述命令解析树有符号OR代表的第三节点中,若所述第三节点的左子树和右子树的命令格式有部分相同,则将所述符号OR代表的第三节点替换成符号SEQUENCE代表的第四节点,其中,将部分相同的命令格式提取出放置在所述第四节点的右子树,若所述第三节点的左子树和右子树的命令格式全部相同,则将所述符号OR代表的第三节点替换成全部相同的命令格式。
7.根据权利要求4-6任一项所述的方法,其特征在于,所述位图特征码为命令解析树中各节点的有序位图映射。
8.一种网络安全设备命令行的解析装置,其特征在于,所述装置包括:加载模块、解析模块和匹配模块;
加载模块,用于加载命令链表中按照预定的命令格式规范设置的命令格式串;
解析模块,用于对加载后的命令格式串进行词法分析,并对词法分析的结果按照采用巴克斯范式语言描述的预定语法规则进行语法分析,生成所述命令链表的命令解析树和位图特征码矩阵;
匹配模块,用于使用命令解析树对输入的命令字符串进行解析获取位图特征码,并将解析后的位图特征码与位图特征码矩阵进行匹配,执行匹配成功后所对应的命令操作。
9.根据权利要求8所述的装置,其特征在于,所述预定的命令格式规范,包括:
命令格式串中关于“顺序排列”、“或”、“可选”和“优先”关系的命令格式,其中,所述命令格式串包括命令名及一个或多个按预定顺序排列的命令参数;
所述“顺序排列”关系的命令格式是连续将多个命令参数进行顺序排列;
所述“或”关系的命令格式是使用分隔号将多个命令参数分隔起来;
所述“可选”关系的命令格式是使用中括号将至少一个命令参数括起来;
所述“优选”关系的命令格式是使用大括号将至少一个命令参数括起来。
10.根据权利要求8所述的装置,其特征在于,所述采用巴克斯范式语言描述的预定语法规则,包括:
ROOT::=KEYWORD
|KEYWORD SEQUENCE
SEQUENCE::=STABLE
|UNSTABLE
|STABLE UNSTABLE
|SEQUENCE STABLE
|SEQUENCE STABLE UNSTABLE
STABLE::=KEYWORD
|MERGE
UNSTABLE::=OPTION
|OPTIONS
OR::=SEQUENCE“|”SEQUENCE
|OR“|”SEQUENCE
MERGE::=“{”OR“}”
|“{”SEQUENCE“}”
OPTIONS::=DOPTION
|OPTIONS OPTION
DOPTION::=OPTION OPTION
OPTION::=“[”OR“]”
|“[”SEQUENCE“]”
其中,符号ROOT在所述命令解析树中代表根节点,符号SEQUENCE在所述命令解析树中代表所述“顺序排列”关系的命令格式的节点,符号OR在所述命令解析树中代表所所述“或”关系的命令格式的节点,符号OPTION在所述命令解析树中代表“可选”关系的命令格式的节点,符号MERGE在所述命令解析树中代表“优先”关系的命令格式的节点。
11.根据权利要求8所述的装置,其特征在于,所述命令解析树按照向左规约和向右规约进行合并。
12.根据权利要求11所述的装置,其特征在于,所述左向规约包括:
在所述命令解析树有符号OR代表的第一节点中,若所述第一节点的右子树和左子树的命令格式有部分相同,则将所述符号OR代表的第一节点替换成符号SEQUENCE代表的第二节点,其中,将部分相同的命令格式提取出放置在所述第二节点的左子树,若所述第一节点的右子树和左子树的命令格式全部相同,则将所述符号OR代表的第一节点替换成全部相同的命令格式。
13.根据权利要求11所述的装置,其特征在于,所述右向规约包括:
在所述命令解析树有符号OR代表的第三节点中,若所述第三节点的左子树和右子树的命令格式有部分相同,则将所述符号OR代表的第三节点替换成符号SEQUENCE代表的第四节点,其中,将部分相同的命令格式提取出放置在所述第四节点的右子树,若所述第三节点的左子树和右子树的命令格式全部相同,则将所述符号OR代表的第三节点替换成全部相同的命令格式。
14.根据权利要求11-13任一项所述的装置,其特征在于,所述位图特征码为命令解析树中各节点的有序位图映射。
CN201510971685.9A 2015-12-22 2015-12-22 一种网络安全设备命令行的解析方法和装置 Active CN106909435B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510971685.9A CN106909435B (zh) 2015-12-22 2015-12-22 一种网络安全设备命令行的解析方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510971685.9A CN106909435B (zh) 2015-12-22 2015-12-22 一种网络安全设备命令行的解析方法和装置

Publications (2)

Publication Number Publication Date
CN106909435A true CN106909435A (zh) 2017-06-30
CN106909435B CN106909435B (zh) 2020-02-07

Family

ID=59200006

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510971685.9A Active CN106909435B (zh) 2015-12-22 2015-12-22 一种网络安全设备命令行的解析方法和装置

Country Status (1)

Country Link
CN (1) CN106909435B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109194529A (zh) * 2018-11-01 2019-01-11 苏州畅途网络科技有限公司 一种用于虚拟SIM卡与服务器apdu的交互方法及装置
CN110177100A (zh) * 2019-05-28 2019-08-27 哈尔滨工程大学 一种协同网络防御的安全设备数据通信协议
CN110515598A (zh) * 2019-08-30 2019-11-29 山东浪潮通软信息科技有限公司 一种基于命令行形式的集成服务的方法
CN116185883A (zh) * 2023-04-28 2023-05-30 阿里云计算有限公司 测试用例生成方法、测试系统、装置、设备及介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1842081A (zh) * 2005-03-30 2006-10-04 华为技术有限公司 扩展巴克斯范式字符串模式匹配和解析的方法及装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1842081A (zh) * 2005-03-30 2006-10-04 华为技术有限公司 扩展巴克斯范式字符串模式匹配和解析的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
赵辉 等: ""网络设备中命令行管理系统的设计与实现"", 《网络与信息》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109194529A (zh) * 2018-11-01 2019-01-11 苏州畅途网络科技有限公司 一种用于虚拟SIM卡与服务器apdu的交互方法及装置
CN109194529B (zh) * 2018-11-01 2021-07-27 苏州畅途网络科技有限公司 一种用于虚拟SIM卡与服务器apdu的交互方法及装置
CN110177100A (zh) * 2019-05-28 2019-08-27 哈尔滨工程大学 一种协同网络防御的安全设备数据通信协议
CN110177100B (zh) * 2019-05-28 2022-05-20 哈尔滨工程大学 一种协同网络防御的安全设备数据通信协议
CN110515598A (zh) * 2019-08-30 2019-11-29 山东浪潮通软信息科技有限公司 一种基于命令行形式的集成服务的方法
CN116185883A (zh) * 2023-04-28 2023-05-30 阿里云计算有限公司 测试用例生成方法、测试系统、装置、设备及介质

Also Published As

Publication number Publication date
CN106909435B (zh) 2020-02-07

Similar Documents

Publication Publication Date Title
US11526531B2 (en) Dynamic field data translation to support high performance stream data processing
US10691682B2 (en) Storing and processing JSON documents in a SQL database table
US10614126B2 (en) Textual query editor for graph databases that performs semantic analysis using extracted information
CN106909435A (zh) 一种网络安全设备命令行的解析方法和装置
JP5865918B2 (ja) 正規表現の分解およびマージ
US8954940B2 (en) Integrating preprocessor behavior into parsing
CN107291522B (zh) 一种面向自定义规则文件的编译优化方法及系统
CN108829884A (zh) 数据映射方法及装置
WO2019237029A1 (en) Directed graph traversal using content-addressable memory
CN109522008A (zh) 一种区块链智能合约构建方法
CN110213113A (zh) 基站的web配置管理方法及基站
Kyusakov et al. Exip: A framework for embedded web development
CN114513566A (zh) 自定义网络协议解析方法、系统、介质及电子设备
CN104050003A (zh) 一种采用shell脚本启动Nutch采集系统的方法
CN102710491B (zh) 使用pcap型过滤器和硬件辅助的patricia树的无损实时线速率过滤的方法和设备
CN105630797A (zh) 数据处理方法及系统
Sanchez et al. Bigraphical modelling of architectural patterns
Chen et al. Software-defined network assimilation: bridging the last mile towards centralized network configuration management with nassim
US20130080876A1 (en) Using a template processor to determine context nodes
CN110825433B (zh) 一种边缘控制设备设计方法
CN112988163A (zh) 编程语言智能适配方法、装置、电子设备和介质
CN117008920A (zh) 引擎系统、请求处理方法、装置、计算机设备及存储介质
US20230185490A1 (en) Pipeline using match-action blocks
US20070300212A1 (en) Modifying a File Written in a Formal Language
CN103246671A (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
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Wang Hai

Inventor after: Meng Qingsen

Inventor after: Hu Xiaofeng

Inventor before: Wang Hai

Inventor before: Meng Qingsen