DNP3测试用例生成方法、系统、设备及计算机介质技术方案

技术编号:19908417 阅读:47 留言:0更新日期:2018-12-26 04:30
本申请公开了一种DNP3测试用例生成方法、系统、设备及计算机介质,应用于DNP3协议中,该方法包括:获取应用层数据,应用层数据为按照DNP3协议的应用层规范,将待变异数据对象封装成的数据;定位应用层数据中的待变异数据对象;确定待变异数据对象中的待变异字段;对待变异字段进行变异,得到变异后的应用层数据;按照DNP3协议的传输层规范将应用层数据封装成传输层数据;按照DNP3协议的数据链路层规范将传输层数据封装成数据链路层数据。本申请公开的一种DNP3测试用例生成方法、系统、设备及计算机可读存储介质,使得数据链路层数据必定符合DNP3协议且包含待变异字段,提高了DNP3测试用例生成方法的生成准确性。

【技术实现步骤摘要】
DNP3测试用例生成方法、系统、设备及计算机介质
本申请涉及DNP3
,更具体地说,涉及DNP3测试用例生成方法、系统、设备及计算机介质。
技术介绍
SCADA(SupervisoryControlAndDataAcquisition,数据采集与监控系统)广泛应用在油气调控、石化炼油、水利调度、轨道交通等领域,随着工业技术和信息技术的发展,SCADA系统之间以及SCADA系统和其他网络之间开始互联互通,其所用的通信协议包括DNP3协议。虽然DNP3协议有一定的可靠性,但这种可靠性在黑客的攻击下或者恶意破坏控制系统的情况下存在风险。为了降低这种风险,需要基于DNP3协议生成测试用例,然后应用测试用例分析DNP3协议可能存在的漏洞。现有的一种DNP3测试用例生成方法是:对DNP3协议整体的数据链路层数据进行随机变异,从而构成DNP3测试用例。然而,现有的一种DNP3测试用例生成方法中,对DNP3协议整体的数据链路层数据进行随机变异,可能存在随机构造出的数据包不符合DNP3协议的规则的情况,从而使得构造出的DNP3测试用例失去用于分析DNP3协议可能存在的漏洞的作用,也即现有的一种DNP3测试用例生成方法的生成准确性较差。综上所述,如何提高现有的一种DNP3测试用例生成方法的生成准确性是目前本领域技术人员亟待解决的问题。
技术实现思路
本申请的目的是提供一种DNP3测试用例生成方法,其能在一定程度上解决如何提高现有的一种DNP3测试用例生成方法的生成准确性的技术问题。本申请还提供了一种DNP3测试用例生成系统、设备及计算机可读存储介质。为了实现上述目的,本申请提供如下技术方案:一种DNP3测试用例生成方法,应用于DNP3协议中,包括:获取应用层数据,所述应用层数据为按照所述DNP3协议的应用层规范,将待变异数据对象封装成的数据;定位所述应用层数据中的所述待变异数据对象;确定所述待变异数据对象中的待变异字段;对所述待变异字段进行变异,得到变异后的所述应用层数据;按照所述DNP3协议的传输层规范将所述应用层数据封装成传输层数据;按照所述DNP3协议的数据链路层规范将所述传输层数据封装成数据链路层数据,以基于所述数据链路层数据得到所述DNP3测试用例。优选的,所述确定所述待变异数据对象中的待变异字段,包括:确定所述待变异数据对象中的待变异字段,所述待变异字段的类型包括数据标题字段。优选的,所述确定所述待变异数据对象中的待变异字段,包括:确定所述待变异数据对象中的待变异字段,所述待变异字段的类型包括对象字段。优选的,所述确定所述待变异数据对象中的待变异字段,所述待变异字段的类型包括对象字段,包括:确定所述待变异数据对象中的待变异字段,所述待变异字段的类型包括对象字段,所述对象字段包括数据对象类型、数据对象索引值、数据对象数量中的一个或多个变量。优选的,所述确定所述待变异数据对象中的待变异字段,包括:确定所述待变异数据对象中的待变异字段,所述待变异字段的类型包括限定词字段。优选的,所述确定所述待变异数据对象中的待变异字段,包括:确定所述待变异数据对象中的待变异字段,所述待变异字段的类型包括变程字段。优选的,所述获取应用层数据,包括:获取待变异数据对象;按照所述DNP3协议的应用层规范,将所述待变异数据对象封装成应用层数据。一种DNP3测试用例生成系统,应用于DNP3协议中,包括:第一获取模块,用于获取应用层数据,所述应用层数据为按照所述DNP3协议的应用层规范,将待变异数据对象封装成的数据;定位模块,用于定位所述应用层数据中的所述待变异数据对象;第一确定模块,用于确定所述待变异数据对象中的待变异字段;变异模块,用于对所述待变异字段进行变异,得到变异后的所述应用层数据;第一封装模块,用于按照所述DNP3协议的传输层规范将所述应用层数据封装成传输层数据;第二封装模块,用于按照所述DNP3协议的数据链路层规范将所述传输层数据封装成所述数据链路层数据,以基于所述数据链路层数据得到所述DNP3测试用例。一种DNP3测试用例生成设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如上任一所述的DNP3测试用例生成方法。一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上任一所述的DNP3测试用例生成方法。本申请提供的一种DNP3测试用例生成方法,应用于DNP3协议中,获取应用层数据,应用层数据为按照DNP3协议的应用层规范,将待变异数据对象封装成的数据;定位应用层数据中的待变异数据对象;确定待变异数据对象中的待变异字段;对待变异字段进行变异,得到变异后的应用层数据;按照DNP3协议的传输层规范将应用层数据封装成传输层数据;按照DNP3协议的数据链路层规范将传输层数据封装成数据链路层数据。本申请提供的一种DNP3测试用例生成方法,只对满足DNP3协议的应用层数据中的待变异字段进行变异,并将变异后的应用层数据按照DNP3协议依次封装成传输层数据、数据链路层数据,使得封装成的数据链路层数据必定为符合DNP3协议的且包含待变异字段的数据链路层数据,与现有技术中对DNP3协议整体的数据链路层数据进行随机变异相比,本申请封装成的数据链路层数据满足DNP3协议的稳定性更强,在一定程度上提高了DNP3测试用例生成方法的生成准确性。本申请提供的一种DNP3测试用例生成系统、设备及计算机可读存储介质也解决了相应技术问题。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本申请实施例提供的一种DNP3测试用例生成方法的第一流程图;图2为DNP3协议的各层协议规范的示意图;图3为本申请实施例提供的一种DNP3测试用例生成系统的结构示意图;图4为本申请实施例提供的一种DNP3测试用例生成设备的结构示意图;图5为本申请实施例提供的一种DNP3测试用例生成设备的另一结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。本申请实施例提供的一种DNP3测试用例生成方法中任一步骤的动作执行主体可以为本申请实施例提供的一种DNP3测试用例生成系统,而该系统可以内置于计算机、服务器等中,所以本申请实施例提供的一种DNP3测试用例生成方法中任一步骤的动作执行主体也可以为内置了该系统的计算机、服务器等。为了描述方便,这里将本申请实施例提供的一种DNP3测试用例生成方法中任一步骤的动作执行主体设为本申请实施例提供的一种DNP3测试用例生成系统,简称为生成系统。请参阅图1,图1为本申请实施例提供的一种DNP3测试用例生成方法的第一流程图。本申请实施例提供的一种DNP3测试用例生成方法,应用于DNP3协议中,可以包括以下步骤:步骤S101:获取应用层本文档来自技高网...

【技术保护点】
1.一种DNP3测试用例生成方法,其特征在于,应用于DNP3协议中,包括:获取应用层数据,所述应用层数据为按照所述DNP3协议的应用层规范,将待变异数据对象封装成的数据;定位所述应用层数据中的所述待变异数据对象;确定所述待变异数据对象中的待变异字段;对所述待变异字段进行变异,得到变异后的所述应用层数据;按照所述DNP3协议的传输层规范将所述应用层数据封装成传输层数据;按照所述DNP3协议的数据链路层规范将所述传输层数据封装成数据链路层数据,以基于所述数据链路层数据得到所述DNP3测试用例。

【技术特征摘要】
1.一种DNP3测试用例生成方法,其特征在于,应用于DNP3协议中,包括:获取应用层数据,所述应用层数据为按照所述DNP3协议的应用层规范,将待变异数据对象封装成的数据;定位所述应用层数据中的所述待变异数据对象;确定所述待变异数据对象中的待变异字段;对所述待变异字段进行变异,得到变异后的所述应用层数据;按照所述DNP3协议的传输层规范将所述应用层数据封装成传输层数据;按照所述DNP3协议的数据链路层规范将所述传输层数据封装成数据链路层数据,以基于所述数据链路层数据得到所述DNP3测试用例。2.根据权利要求1所述的方法,其特征在于,所述确定所述待变异数据对象中的待变异字段,包括:确定所述待变异数据对象中的待变异字段,所述待变异字段的类型包括数据标题字段。3.根据权利要求1所述的方法,其特征在于,所述确定所述待变异数据对象中的待变异字段,包括:确定所述待变异数据对象中的待变异字段,所述待变异字段的类型包括对象字段。4.根据权利要求3所述的方法,其特征在于,所述确定所述待变异数据对象中的待变异字段,所述待变异字段的类型包括对象字段,包括:确定所述待变异数据对象中的待变异字段,所述待变异字段的类型包括对象字段,所述对象字段包括数据对象类型、数据对象索引值、数据对象数量中的一个或多个变量。5.根据权利要求1所述的方法,其特征在于,所述确定所述待变异数据对象中的待变异字段,包括:确定所述待变异数据对象中的待变异字段,所述待变异字段的类型包括限定词字段。6....

【专利技术属性】
技术研发人员:渠敬斌范渊
申请(专利权)人:杭州安恒信息技术股份有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1