OPCDA报文处理方法、装置、电子设备及存储介质与流程

文档序号:23391921发布日期:2020-12-22 13:58阅读:684来源:国知局
OPCDA报文处理方法、装置、电子设备及存储介质与流程

本申请涉及通信技术领域,具体而言,涉及一种opcda报文处理方法、装置、电子设备及存储介质。



背景技术:

随着互联网行业的不断发展,传统工业领域开始依赖互联网来进行业务交互或者设备控制,而互联网的交互过程也离不开各种网络协议的规范。其中opcda(objectlinkingandembeddingforprocesscontroldataaccess)规范旨在简化不同总线标准间的数据访问机制,为不同总线标准提供通过标准接口访问现场数据的基本方法。opcda协议在工业互联网中的传输依托于dce/rpc协议,但是当前最为广泛使用的抓包工具wireshark解析opcda协议,依旧只能解析到dce/rpc一层,与opcda相关的数据仅展示为stubdata,在wireshark里面展示为一串未解析的字节流形式。

防火墙作为庞大互联网中边界网络的防御体,保护内部网络不受外部攻击侵扰的同时,还需要支持内部业务的正常运作,工业互联网同样需要能够支持它的工控防火墙。而在工控防火墙的测试过程当中,测试人员因无法通过wireshark抓包并解析opcda报文,只能以“防火墙的解析绝对正确”为前提来测试与opcda相关的功能,这种以结果准确为前提的测试方法存在opcda报文测试准确率较低的问题,而基于wireshark的解析结果查表确定报文的操作名等方式存在效率低的问题。



技术实现要素:

有鉴于此,本申请实施例的目的在于提供一种opcda报文处理方法、装置、电子设备及存储介质,以改善现有技术中存在的opcda报文测试准确率较低和效率较低的问题。

本申请实施例提供了一种opcda报文处理方法,所述方法包括:获取待测opcda报文;在所述待测opcda报文为请求报文时,基于所述待测opcda报文的通用唯一识别码确定所述待测opcda报文的功能码,所述功能码包括所述通用唯一识别码对应的接口名和所述待测opcda报文的方法标识对应的操作名;在所述待测opcda报文的报文类型和所述功能码符合过滤条件时,丢弃所述待测opcda报文。

在上述实现方式中,在opcda报文解析时确定功能码,并基于功能码进行后续报文过滤和分析等处理,减少了测试人员查询绑定数据表的时间,过滤冗余报文节约查找时间,提高opcda报文处理效率和准确性。

可选地,所述基于所述待测opcda报文的通用唯一识别码确定所述待测opcda报文的功能码,包括:基于通用唯一识别码与关联标识符的第一对应关系确定所述通用唯一识别码对应的关联标识符;基于关联标识符与接口名的第二对应关系确定所述关联标识符对应的接口名;获取所述待测opcda报文的方法标识,并确定所述方法标识对应的操作名;将所述接口名和所述操作名组合为所述功能码。

在上述实现方式中,基于通用唯一识别码、关联标识符和接口名的对应关系确定待测opcda报文的操作名从而确定其功能码,能够基于功能码对报文进行过滤和分析,提高了报文处理效率和准确性。

可选地,在所述获取待测opcda报文之后,所述方法还包括:在所述待测opcda报文为绑定报文时,基于所述绑定报文记录或更新所述第一对应关系;在所述待测opcda报文为变更上下文报文时,基于所述变更上下文报文记录或更新所述第二对应关系。

在上述实现方式中,通过解析绑定报文和请求报文,直接展示出携带功能码报文的功能码信息,从而能够进行待测opcda报文的功能码确定和后续基于功能码的分析和过滤。

可选地,在所述待测opcda报文为请求报文时,基于所述待测opcda报文的通用唯一识别码确定所述待测opcda报文的功能码之后,所述方法还包括:在所述待测opcda报文的报文类型和所述功能码不符合所述过滤条件,且所述功能码为写功能码时,确定所述请求报文的服务端处理类;基于服务端处理类与地址字符串的第三对应关系确定所述服务端处理类对应的地址字符串;基于所述地址字符串确定所述待测opcda报文的存根数据部分的值类型和值数据。

在上述实现方式中,基于服务端处理类与地址字符串的第三对应关系确定其对应的地址字符串后,就能够确定stubdata中的地址、值类型和值数据,为待测opcda报文的分析提供了更多分析基础数据,从而提高了其分析准确性。

可选地,在所述待测opcda报文的报文类型和所述功能码不符合所述过滤条件,且所述功能码为写功能码时,确定所述请求报文的服务端处理类之后,所述方法还包括:在所述第三对应关系中不存在与所述服务端处理类对应的地址字符串时,接收所述请求报文的响应报文;将所述响应报文中的服务端处理类和地址字符串绑定添加至所述第三对应关系中。

在上述实现方式中,通过请求报文对应的响应报文的服务端处理类和地址字符串将请求报文和地址字符串进行绑定,从而能够基于请求报文进行stubdata中的地址、值类型和值数据的获取,提高了报文处理效率。

可选地,所述接收所述请求报文的响应报文,包括:记录所述请求报文的呼叫标识;在接收到呼叫标识与所述请求报文的所述呼叫标识相同的报文时,将所述响应报文作为所述请求报文的所述响应报文。

在上述实现方式中,基于呼叫标识确定请求报文对应的响应报文,提高了请求报文和响应报文的匹配准确率。

可选地,所述获取待测opcda报文,包括:接收报文并解析所述报文的报头信息,所述报头信息包括数据链路层报头信息、网络层报头信息和传输层报头信息;基于所述报头信息去掉所述报文中仅含报头不含内容的报头报文,以确定下一层报头的起始位置;基于所述起始位置和dce/rpc公共头部格式特点去除所述报文中的非dce/rpc报文,以获得所述待测opcda报文。

在上述实现方式中,经过报头剥除仅保留报文的opcda头部及内容部分以便后续分析,提高了opcda报文的解析效率。

本申请实施例还提供了一种opcda报文处理装置,所述装置包括:报文获取模块,用于获取待测opcda报文;功能码确定模块,用于在所述待测opcda报文为请求报文时,基于所述待测opcda报文的通用唯一识别码确定所述待测opcda报文的功能码,所述功能码包括所述通用唯一识别码对应的接口名和所述待测opcda报文的方法标识对应的操作名;过滤模块,用于在所述待测opcda报文的报文类型和所述功能码符合过滤条件时,丢弃所述待测opcda报文。

在上述实现方式中,在opcda报文解析时确定功能码,并基于功能码进行后续报文过滤和分析等处理,减少了测试人员查询绑定数据表的时间,过滤冗余报文节约查找时间,提高opcda报文处理效率和准确性。

可选地,所述功能码确定模块具体用于:基于通用唯一识别码与关联标识符的第一对应关系确定所述通用唯一识别码对应的关联标识符;基于关联标识符与接口名的第二对应关系确定所述关联标识符对应的接口名;获取所述待测opcda报文的方法标识,并确定所述方法标识对应的操作名;将所述接口名和所述操作名组合为所述功能码。

在上述实现方式中,基于通用唯一识别码、关联标识符和接口名的对应关系确定待测opcda报文的操作名从而确定其功能码,能够基于功能码对报文进行过滤和分析,提高了报文处理效率和准确性。

可选地,所述opcda报文处理装置还包括:对应关系更新模块,用于在所述待测opcda报文为绑定报文时,基于所述绑定报文记录或更新所述第一对应关系;在所述待测opcda报文为变更上下文报文时,基于所述变更上下文报文记录或更新所述第二对应关系。

在上述实现方式中,通过解析绑定报文和请求报文,直接展示出携带功能码报文的功能码信息,从而能够进行待测opcda报文的功能码确定和后续基于功能码的分析和过滤。

可选地,所述opcda报文处理装置还包括:数据解析模块,用于在所述待测opcda报文的报文类型和所述功能码不符合所述过滤条件,且所述功能码为写功能码时,确定所述请求报文的服务端处理类;基于服务端处理类与地址字符串的第三对应关系确定所述服务端处理类对应的地址字符串;基于所述地址字符串确定所述待测opcda报文的存根数据部分的值类型和值数据。

在上述实现方式中,基于服务端处理类与地址字符串的第三对应关系确定其对应的地址字符串后,就能够确定stubdata中的地址、值类型和值数据,为待测opcda报文的分析提供了更多分析基础数据,从而提高了其分析准确性。

可选地,所述数据解析模块具体用于:在所述第三对应关系中不存在与所述服务端处理类对应的地址字符串时,接收所述请求报文的响应报文;将所述响应报文中的服务端处理类和地址字符串绑定添加至所述第三对应关系中。

在上述实现方式中,通过请求报文对应的响应报文的服务端处理类和地址字符串将请求报文和地址字符串进行绑定,从而能够基于请求报文进行stubdata中的地址、值类型和值数据的获取,提高了报文处理效率。

可选地,所述数据解析模块具体用于:记录所述请求报文的呼叫标识;在接收到呼叫标识与所述请求报文的所述呼叫标识相同的报文时,将所述响应报文作为所述请求报文的所述响应报文。

在上述实现方式中,基于呼叫标识确定请求报文对应的响应报文,提高了请求报文和响应报文的匹配准确率。

可选地,所述报文获取模块具体用于:接收报文并解析所述报文的报头信息,所述报头信息包括数据链路层报头信息、网络层报头信息和传输层报头信息;基于所述报头信息去掉所述报文中仅含报头不含内容的报头报文,以确定下一层报头的起始位置;基于所述起始位置和dce/rpc公共头部格式特点去除所述报文中的非dce/rpc报文,以获得所述待测opcda报文。

在上述实现方式中,经过报头剥除仅保留报文的opcda头部及内容部分以便后续分析,提高了opcda报文的解析效率。

本申请实施例还提供了一种电子设备,所述电子设备包括存储器和处理器,所述存储器中存储有程序指令,所述处理器读取并运行所述程序指令时,执行上述任一实现方式中的步骤。

本申请实施例还提供了一种可读取存储介质,所述可读取存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行上述任一实现方式中的步骤。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请实施例提供的一种opcda报文处理方法的流程示意图。

图2为本申请实施例提供的一种功能码确定步骤的流程示意图。

图3为本申请实施例提供的一种stubdata解析步骤的流程示意图。

图4为本申请实施例提供的一种opcda报文解析过程的流程示意图。

图5为本申请实施例提供的一种opcda报文处理装置的模块示意图。

图标:20-opcda报文处理装置;21-报文获取模块;22-功能码确定模块;23-过滤模块。

具体实施方式

下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行描述。

经本申请人研究发现,由于opcda协议是基于dce(datacommunicationequipment,数据通信设备)/rpc(remoteprocedurecall,远程过程调用)协议展示的,wireshark抓取并解析opcda协议可以解析到dce/rpc协议一层,亦可以展示dce/rpc报头。但是dce/rpc报头可提供的信息较少,仅能知道请求报文里面的接口uuid(universallyuniqueidentifier,通用唯一识别码)和方法标识(方法id),而且接口名和方法名都需要查表才能得到对应关系。接口uuid需查表得到接口名,然后再根据接口下的方法id查表得到方法名,这样的操作是及其麻烦且费时的。接口名和方法名的组合,我们称其为功能码,在wireshark的解析结果中,仅有极少数功能码可由wireshark解析的信息直接看出,大多数仍需要查表得知,不利于测试人员快速分析报文。另一方面,由于接口的绑定都是动态的,wireshark无法对指定功能码进行筛选。但是在opcda的模拟软件连接过程中,会产生大量的连接确认的报文,这些报文带有重复的功能码。在报文快速刷新的wireshark里面(在筛选dce/rpc协议后,仍有大概十几条报文/秒的刷新速度),有用报文很容易被大量确认报文刷走,不利于测试人员快速定位分析报文。

为了解决上述问题,本申请实施例提供了一种opcda报文处理方法,请参考图1,图1为本申请实施例提供的一种opcda报文处理方法的流程示意图,该opcda报文处理方法的具体步骤可以如下:

步骤s12:获取待测opcda报文。

具体地,本实施例步骤s12获取待测opcda报文的具体步骤可以如下:

步骤s122:接收报文并解析报文的报头信息,报头信息包括数据链路层报头信息、网络层报头信息和传输层报头信息。

步骤s124:基于报头信息去掉报文中仅含报头不含内容的报头报文,以确定下一层报头的起始位置。

本实施例中可以根据数据链路层报头信息、网络层报头信息和传输层报头信息中包含的长度信息,依次去掉数据链路层头部、网络层头部和传输层头部。

可选地,将报头报文去掉后获取剩下报文中的报头长度字段,得到下一层报头的起始位置。

步骤s126:基于起始位置和dce/rpc公共头部格式特点去除报文中的非dce/rpc报文,以获得待测opcda报文。

步骤s14:在待测opcda报文为请求报文时,基于待测opcda报文的通用唯一识别码确定待测opcda报文的功能码。

应当理解的是,在步骤s14之前还需要确定待测opcda报文的报文类型,本实施例中以请求(request)报文、响应(response)报文、绑定(bind)报文和变更上下文(altercontext)报文为例,可以根据公共头部指定字段确定报文类型。

则在待测opcda报文为请求报文时,请参考图2,图2为本申请实施例提供的一种功能码确定步骤的流程示意图,该s14具体步骤可以如下:

步骤s141:基于通用唯一识别码与关联标识符的第一对应关系确定通用唯一识别码对应的关联标识符。

步骤s142:基于关联标识符与接口名的第二对应关系确定关联标识符对应的接口名。

可选地,本实施例中的第一对应关系和第二对应关系可以是存储在绑定缓存中,其存储形式可以是通用唯一识别码与关联标识符(contextid)的第一对照表以及关联标识符与接口名的第二对照表,加载第一对照表和第二对照表基于其中的对应关系能够基于通用唯一识别码确定该待测opcda报文的接口名。

步骤s143:获取待测opcda报文的方法标识,并确定方法标识对应的操作名。

上述方法标识为各接口中的opnum,其为与具体操作名所对应的字符。

步骤s144:将接口名和操作名组合为功能码。

由于功能码包含待测opcda报文对应的功能码,因此基于功能码能够分析该待测opcda报文对应的操作,从而能够对待测opcda报文的功能和安全性等进行分析,并能有基于该功能码进行报文过滤。

应当理解的是,在进行待测opcda报文的分析和过滤之前,需要先对一定数量的opcda报文进行分析处理,生成通用唯一识别码与关联标识符的对应关系,以及关联标识符与接口名的对应关系,从而能够在后续步骤基于待测opcda报文的通用唯一识别码确定其对应的功能码。上述步骤具体可以如下:

步骤s131:在待测opcda报文为绑定报文时,基于绑定报文记录或更新第一对应关系。

步骤s132:在待测opcda报文为变更上下文报文时,基于变更上下文报文记录或更新第二对应关系。

可选地,上述第一对应关系可以为第一对照表的形式存储在绑定缓存中,上述第二对应关系可以为第二对照表的形式存储在绑定缓存中。

作为一种可选的实施方式,本实施例中的第一对照表和第二对照表可以表现为哈希表的键值对关系,第一对照表中键为通用唯一识别码,值为关联标识符,第二对照表中键为关联标识符,值为接口名。

进一步地,在其他实施例中,第一对照表和第二对照表可以整合为一个表,直接将通用唯一识别码和接口名进行对应。

步骤s16:在待测opcda报文的报文类型和功能码符合过滤条件时,丢弃待测opcda报文。

可选地,本实施例中的报文类型和功能码组成的过滤条件可以是用户所选的过滤项,例如丢弃指定报文类型和/或指定功能码的报文。

由于opcda报文中包含stubdata为变长的字节流形式,其中包含写操作的地址字符串、值类型和值数据,对opcda报文的分析和检测判定能够起到重要作用,因此本实施例还可以对stubdata(存根数据)进行进一步地解析,请参考图3,图3为本申请实施例提供的一种stubdata解析步骤的流程示意图,其步骤具体可以如下:

步骤s182:在待测opcda报文的报文类型和功能码不符合过滤条件,且功能码为写功能码时,确定请求报文的服务端处理类。

本实施中的服务端处理类可以为serverhandle,写功能码可以是“iopcitemmgt::additems”。

应当理解的是,在基于服务端处理类进行stubdata解析之前,还需要先对一定数量的请求报文进行分析处理,生成服务端处理类与地址字符串的对应关系,从而能够在后续步骤基于服务端处理类确定其对应的地址字符串。该服务端处理类与地址字符串的绑定步骤具体可以如下:

步骤s1831:在第三对应关系中不存在与服务端处理类对应的地址字符串时,接收请求报文的响应报文。

具体地,接收请求报文的响应报文包括:记录请求报文的呼叫标识;在接收到呼叫标识与请求报文的呼叫标识相同的报文时,将响应报文作为请求报文的响应报文。

可选地,本实施例中上述呼叫标识可以为callid。

步骤s1832:将响应报文中的服务端处理类和地址字符串绑定添加至第三对应关系中。

可选地,第三对应关系也可以为哈希表键值对关系存储在绑定缓存中,键为服务端处理类,值为地址字符串。

步骤s184:基于服务端处理类与地址字符串的第三对应关系确定服务端处理类对应的地址字符串。

步骤s186:基于地址字符串确定待测opcda报文的存根数据部分的值类型和值数据。

可选地,在解析获得待测opcda报文中写请求报文的stubdata后,可以结合地址、值类型和值数据对待测opcda报文进行过滤或分析,从而提高了opcda报文的解析及过滤等处理的准确度。

请参考图4,图4为本申请实施例提供的一种opcda报文解析过程的流程示意图,可参考图4进行opcda报文解析及过滤的全流程理解。

为了配合本申请实施例提供的上述opcda报文处理方法,本申请实施例还提供了一种opcda报文处理装置20。

请参考图5,图5为本申请实施例提供的一种opcda报文处理装置的模块示意图。

opcda报文处理装置20包括:

报文获取模块21,用于获取待测opcda报文;

功能码确定模块22,用于在待测opcda报文为请求报文时,基于待测opcda报文的通用唯一识别码确定待测opcda报文的功能码,功能码包括通用唯一识别码对应的接口名和待测opcda报文的方法标识对应的操作名;

过滤模块23,用于在待测opcda报文的报文类型和功能码符合过滤条件时,丢弃待测opcda报文。

可选地,功能码确定模块22具体用于:基于通用唯一识别码与关联标识符的第一对应关系确定通用唯一识别码对应的关联标识符;基于关联标识符与接口名的第二对应关系确定关联标识符对应的接口名;获取待测opcda报文的方法标识,并确定方法标识对应的操作名;将接口名和操作名组合为功能码。

可选地,opcda报文处理装置20还包括:对应关系更新模块,用于在待测opcda报文为绑定报文时,基于绑定报文记录或更新第一对应关系;在待测opcda报文为变更上下文报文时,基于变更上下文报文记录或更新第二对应关系。

可选地,opcda报文处理装置20还包括:数据解析模块,用于在待测opcda报文的报文类型和功能码不符合过滤条件,且功能码为写功能码时,确定请求报文的服务端处理类;基于服务端处理类与地址字符串的第三对应关系确定服务端处理类对应的地址字符串;基于地址字符串确定待测opcda报文的存根数据部分的值类型和值数据。

可选地,数据解析模块具体用于:在第三对应关系中不存在与服务端处理类对应的地址字符串时,接收请求报文的响应报文;将响应报文中的服务端处理类和地址字符串绑定添加至第三对应关系中。

可选地,数据解析模块具体用于:记录请求报文的呼叫标识;在接收到呼叫标识与请求报文的呼叫标识相同的报文时,将响应报文作为请求报文的响应报文。

可选地,报文获取模块21具体用于:接收报文并解析报文的报头信息,报头信息包括数据链路层报头信息、网络层报头信息和传输层报头信息;基于报头信息去掉报文中仅含报头不含内容的报头报文,以确定下一层报头的起始位置;基于起始位置和dce/rpc公共头部格式特点去除报文中的非dce/rpc报文,以获得待测opcda报文。

本申请实施例还提供了一种电子设备,该电子设备包括存储器和处理器,所述存储器中存储有程序指令,所述处理器读取并运行所述程序指令时,执行本实施例提供的opcda报文处理方法中任一项所述方法中的步骤。

应当理解是,该电子设备可以是个人电脑(personalcomputer,pc)、平板电脑、智能手机、个人数字助理(personaldigitalassistant,pda)等具有逻辑计算功能的电子设备。

本申请实施例还提供了一种可读取存储介质,所述可读取存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行opcda报文处理方法中的步骤。

综上所述,本申请实施例提供了一种opcda报文处理方法、装置、电子设备及存储介质,所述方法包括:获取待测opcda报文;在所述待测opcda报文为请求报文时,基于所述待测opcda报文的通用唯一识别码确定所述待测opcda报文的功能码,所述功能码包括所述通用唯一识别码对应的接口名和所述待测opcda报文的方法标识对应的操作名;在所述待测opcda报文的报文类型和所述功能码符合过滤条件时,丢弃所述待测opcda报文。

在上述实现方式中,在opcda报文解析时确定功能码,并基于功能码进行后续报文过滤和分析等处理,减少了测试人员查询绑定数据表的时间,过滤冗余报文节约查找时间,提高opcda报文处理效率和准确性。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的框图显示了根据本申请的多个实施例的设备的可能实现的体系架构、功能和操作。在这点上,框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图中的每个方框、以及框图的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。因此本实施例还提供了一种可读取存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行区块数据存储方法中任一项所述方法中的步骤。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1