一种对网络协议解码器进行测试的测试设备和方法

文档序号:7565869阅读:168来源:国知局
专利名称:一种对网络协议解码器进行测试的测试设备和方法
技术领域
本发明涉及网络设备测试领域,尤其涉及对网络设备中的网络协议解码器进行测 试的测试设备和方法。
背景技术
随着网络的发展,基于网络的应用也不断丰富,因此针对这些网络应用的攻击事 件和攻击手段也不断增加,为了提高对这些网络攻击行为进行检查的精确度,诸如网络入 侵防护系统(NIPS)之类的网络安全系统需要对各种应用层协议进行解码以确定在应用层 数据中是否存在异常数据。网络安全系统一般会针对不同的协议设计用于对以这些协议编 码的数据进行解码的网络协议解码器,网络协议解码器能对相应的协议报文进行深入分析 以发现其中的异常数据。在将网络协议解码器投入使用之前,需要对其进行测试以确保它能够正常运行。 针对网络协议解码器的测试分为两类一类为针对网络攻击的测试,其主要是测试网络协 议解码器能否检测出网络上的攻击数据;第二类是针对网络协议解码器自身的测试,目的 是测试其自身的稳定性以及在各种极端和异常情况下是否会出现问题。目前,已经存在有对网络协议解码器进行测试的技术,其具体过程如下首先,从 真实的网络攻击数据中提取一次完整的网络攻击,对这些网络攻击数据进行分析以生成适 于对网络协议解码器进行测试的测试数据,随后将所生成的测试数据发送到网络安全设备 进行处理,并根据网络安全设备的处理结果来确定测试结果。Pcap文件是一种文件格式,其中记录了网络数据流的相关信息。当进行测试时,可 以利用诸如tcpr印lay等之类的网络工具读取Pcap文件来生成所需要的网络数据流并将 网络数据流发送到诸如网络安全设备之类的待测试设备。上述针对网络协议解码器的测试有多个不足之处。首先,该测试过于粗糙。由于 要进行测试的是作为网络安全设备一部分的网络协议解码器,而上述测试技术只能针对整 个网络安全设备进行黑盒测试,而不能针对单个网络协议解码器做比较精细的测试;其次, 该测试所采用的测试数据来源于真实网络,因此测试样本数据有限,并且导致该测试进行 测试的类型也受限;第三,该测试仅仅对于网络协议解码器能否正确处理网络攻击进行了 测试,但是没有对该网络协议解码器自身是否存在问题进行测试,导致测试不全面,例如该 测试也不能对网络协议解码器进行压力测试。因此,需要一种可以全面地对网络协议解码器进行测试的测试设备和测试方法。

发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决或 者减缓上述问题的对网络设备中的网络协议解码器进行测试的解码设备和方法。根据本发明的一个方面,提供了一种对网络设备中的网络协议解码器进行测试的 测试设备,该网络协议解码器对以网络协议编码的数据包进行解码,该测试设备包括其中存储了协议模板的协议模板存储器;配置文件存储器,其中存储了配置文件,该配置文件定 义了要使用的协议模板以及测试中采用的测试参数;测试数据生成器,基于配置文件从协 议模板存储器中读取所述要使用的协议模板,并且根据所读取的协议模板以及测试参数来 生成测试数据包,并将所生成的测试数据包发送到网络设备,以便由网络设备中的网络协 议解码器进行解码;以及测试结果生成器,从网络设备获取解码结果,并且基于该解码结果 和所述配置文件来生成测试结果。根据本发明的测试设备采用了针对协议的协议模板,并且利用配置文件定义了生 成测试数据所需要的参数,因此可以快速且高效地生成各种类型的相应测试数据包,使其 能够较全面覆盖针对攻击流量的测试、针对网络协议解码器自身的健壮性测试以及压力测 试,从而可以对网络协议解码器进行全面测试并提供高测试准确度。另外,由于采用了协议 模板来定义相关网络协议,因此测试用户在设计测试用例时只需要调用相应模板并修改参 数,这大大减小了测试用户的工作量。可选地,网络协议为多层网络协议,以及协议模板存储器中存储的每个协议模板 处于多层网络协议之一层中,配置文件中定义的要使用协议模板包括与要进行测试的网络 协议相对应的协议模板以及与该要进行测量的网络协议的底层网络协议相对应的协议模 板。可选地,测试参数包括解码预期值,而且测试结果生成器根据解码结果是否包括 解码预期值来判断网络协议解码器是否解码成功。可选地,测试参数包括网络攻击数据,而且测试结果生成器根据解码结果是否指 示与该网络攻击数据相对应的网络攻击来判断网络协议解码器是否能够检测该网络攻击。可选地,测试参数包括畸形数据,而且测试结果生成器根据解码结果是否指示该 畸形数据被异常处理来判断网络协议解码器是否能够正确处理畸形数据。可选地,测试参数定义了要生成的测试数据的大小和传输速率,解码结果包括网 络协议解码器处理测试数据时的CPU使用率和内存使用率。根据本发明的另一个方面,提供了一种对网络设备中的网络协议解码器进行测试 的测试方法,该网络协议解码器对以网络协议编码的数据包进行解码,该测试方法包括步 骤根据配置文件中定义的要使用的协议模板以及测试中采用的测试参数来生成测试数据 包;将所生成的测试数据包发送到网络设备,以便由网络设备中的网络协议解码器进行解 码;以及获取来自网络设备的解码结果,并基于该解码结果和所述配置文件来生成测试结^ ο在根据本发明的测试设备和测试方法中,配置文件均以XML格式编写,以方便测 试用户方便地修改配置文件的内容。


通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通 技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明 的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中
图1示意性地示出了根据本发明一个实施例的用于对网络协议解码器进行测试的测 试设备的框图;图2A-2D示意性地示出了根据本发明一个实施例的协议模板,图2E中给出了各个协议 模板之间的关系;
图3示意性地示出了根据本发明一个实施例的配置文件;以及 图4示意性地示出了根据本发明一个实施例的用于对网络协议解码器进行测试的测 试方法。
具体实施例方式下面结合附图和具体的实施方式对本发明作进一步的描述。图1示意性地示出了根据本发明一个实施例的用于对网络协议解码器进行测试 的测试设备100的框图。如图1所示,测试设备100包括协议模板存储器110、配置文件存 储器120、测试数据生成器130和测试结果生成器140。协议模板存储器110中存储了各种协议模板112,其中每个协议模板与一种网络 协议相对应。网络协议通常为多层协议,即某层协议的实现依赖于其下面层,即底层协议的 实现。目前存在有各种以多层方式实现的各种网络协议,例如目前在互联网上常用的TCP/ IP协议、在令牌环网上使用的令牌环网协议、在ATM机等上使用的ATM相关协议等等。本发 明以TCP/IP协议为例在下面的实施方式中进行了说明,但是应当理解的是,本发明不受限 于此,本发明完全可以适用于任何以多层协议方式实现的网络协议。图2A-2D给出了与TCP/IP协议栈中的各层协议相对应的协议模板,其中图2A给 出了与TCP/IP协议栈中的链路层协议相对应的协议模板,图2B给出了与IP协议相对应的 协议模板,图2C给出了与TCP协议相对应的协议模板,而图2D给出与应用层协议中的SMB 协议相对应的协议模板。应当注意的是,这些协议模板以伪代码的方式编写,以符号“#”开 头的行为注释行,而且在符号“I I”之后给出的值为相应项的缺省值。以伪代码方式编写协 议模板便于测试人员来创建新的协议模板,但是本发明不受限于此,例如这些协议模板也 可以以XML格式进行编写,所有这些编写方式都在本发明的保护范围之内。根据图2A-2D给出的协议模板可知,每个协议模板都对相应协议中的各个字段进 行了定义,对一些字段给出了缺省值。通过与各层协议相对应的协议模块的逐层调用,可以 构造一个完整的数据包,其中由于协议中的各个字段值需要定义,因此需要与这些字段相 对应的设置参数。通过给这些协议模板提供所需要的参数(即参数e)可以生成适于进行测 试的数据包。图2E中给出了各个协议模板之间的关系,协议模板包括网络接口层协议模板、传 输层协议模板和应用层协议模板来分别与网络接口层协议、传输层协议和应用层协议相对 应。在应用层协议模板中,具有与该待测试协议相对应的协议模板集合,在这个集合中,包 括了特定协议中需要测试的命令,例如如果需要测试对应用层协议X的解码,而协议X中 需要测试的命令为命令A、命令B和命令C,则针对命令A,B,C开发相应的协议模板,其结构 和协议X中针对A,B, C定义的命令结构一样。此时,协议模板之间的关系如图2E所示,为 了生成针对命令A的测试数据,就需要与应用层协议的底层协议相关联的网络接口层协议 模板、传输层协议模板。配置文件存储器120中存储了适于生成测试用例的配置文件122,测试用例通常 意指完成一次完整测试过程所需的交互过程。一般而言,一个配置文件定义一个或者多个测试用例,而一个测试用例可以包括与被测试网络设备的多次交互,因此会涉及在一个网 络会话中的多次测试数据发送和接收,并且也可能涉及多个网络会话。配置文件122中通 常定义了某次测试所要使用的测试模板以及在测试中所采用的测试参数。由于进行测试的 网络协议通常为多层协议,配置文件除了定义与作为测试目标的网络协议相对应的协议模 板之外,还需要定义与该要进行测量的网络协议的底层网络协议相对应的协议模板。另外, 如上所述,在利用协议模板生成数据包时,还需要一些参数,例如IP协议需要的源和目的 地IP地址,TCP协议所需要的目的端口等等。据此,配置文件还需要定义这些生成数据包 所需要的各种参数。图3给出了配置文件122的一个示例,如图3所示,该配置文件12首先以〈test case ·..> 〈/test case> 定义了一个名称为"smb_tree_connect_andx,,的测试用例。随 后,在该测试用例中,以〈modules〉…〈/modules〉定义要使用的协议模板。然后,以〈trans …>···.〈/trans〉定义和被测试网络设备的交互过程以及在交互过程需要的参数等,例如, 在该示例中,交互过程包括建立到目的端口 139的TCP链接、发起命令为Tree_C0rmect_ Andx的SMB会话、以及关闭该TCP链接。应当注意的是,虽然图3以XML格式给出了配置文件122的一个示例,但是配置文 件122还可以以其他方式,例如上文所述的伪代码方式进行编写。所有这些编写方式都在 本发明的保护范围之内。测试数据生成器130读取配置文件存储器120中存储的配置文件122。根据配置 文件中定义的所要使用的协议模板,从协议模板存储器110中读取相应的协议模板,随后 利用所读取的协议模板的内容、配置文件所定义的交互过程以及相关参数,来生成相应的 测试数据,从而将所生成的测试数据发送到网络设备200以进行测试。由于待测试的网络 协议是已知的,而且相关的协议模板中已经定义了相关协议中各个字段,利用配置文件所 定义的、与该协议中的字段相对应的参数或者缺省参数值,可以生成相应的测试数据。利用 配置文件中定义的内容和相应的网络协议模板来生成测试数据可以由本领域已知任何一 种方式来进行。例如,生成的测试数据可以是Pcap格式的数据流并存放在Pcap文件中,并 且由诸如tcpr印lay等之类的网络工具读取该Pcap文件获取所生成的测试数据流并将该 测试数据流发送到网络设备200以进行测试。网络设备200接收测试数据,并且由其中的网络协议解码器210对该测试数据进 行解码。如上所述,由于网络协议通常为分层协议,而网络协议解码器210通常针对特定协 议进行解码,因此,网络设备200中包括与各层网络协议相对应的网络协议解码器来逐层 地对所接收到的测试数据进行解码。虽然要测试的是其中的某个网络协议解码器,但是针 对测试数据的解码过程必然会涉及到一些其他网络协议解码器,例如用于对底层网络协议 进行解码的网络协议解码器。此时为了排除其它网络协议解码器的干扰,通常会首先对这 些底层网络协议解码器进行测试,并假定这些网络协议解码器不存在问题。测试结果生成器140从网络设备200获取解码结果,并且基于该解码结果和相关 联配置文件来生成测试结果。可选地,由于从网络设备200获取的解码结果和生成测试数 据的配置文件紧密相关,因此,测试结果生成器140可以从测试数据生成器130而不是从配 置文件存储器120中获取该相关联的配置文件。根据本发明的测试设备100利用了协议模板和配置文件来定制要生成的测试数据包,而且通过在配置文件中定义各种测试参数,可以对网络设备200进行全面的测试。例如,如上所述,配置文件中定义的测试参数为配置文件中所要使用的协议模板 所需要的参数,因此通过根据测试环境来定义这些参数,从而生成适于该测试环境的测试 数据。可选地,测试设备100可以用于测试网络协议解码器能否进行正确解码,此时,可 以在测试参数中设定解码预期值,由测试数据生成器130生成的测试数据中包含编码后的 解码预期值,而测试结果生成器140所获得的解码结果包含对该编码后的解码预期值进行 解码后所获得数据,因此测试结果生成器140可以通过检查该解码结果是否包括在测试参 数中的解码预期值来判断该网络协议解码器是否解码成功。可选地,测试设备100可以用于测试网络协议解码器能否检测出网络攻击。为此, 可以在配置文件的测试参数中定义网络攻击数据,测试数据生成器130在生成测试数据 时,会将网络攻击数据编码到测试数据中以生成具有网络攻击特征的测试数据。如果网络 设备200,尤其是其中的网络协议解码器210能够检测出该网络攻击,则来自网络设备200 的解码结果应当会指示出检测到该网络攻击(例如,生成警告事件),因此测试结果生成器 140可以根据解码结果是否指示与配置文件中所定义的网络攻击数据相对应的网络攻击来 判断网络协议解码器210是否能够检测所述网络攻击。应当注意的是,由于网络协议为分层协议的原因,当针对某层网络协议进行网络 攻击时,一般而言网络攻击数据在该层进行编码,并且也应当由针对该层网络协议的解码 器进行处理,上述方案正是基于此而做出,并且可以对该网络协议解码器210是否能够检 测针对相关联网络协议的网络攻击进行测试。可选地,测试设备100可以用于测试网络协议解码器能否正确处理诸如超长或者 不完整数据之类的畸形数据。为此,可以在配置文件的测试参数中定义畸形数据,测试数 据生成器130在生成测试数据时,会将畸形数据编码到测试数据中以生成具有畸形数据的 测试数据。如果网络设备200,尤其是其中的网络协议解码器210能够在对测试数据进行 解码时正确处理畸形数据,则来自网络设备200的解码结果应当会指示出发现畸形数据并 对畸形数据进行专门处理(例如,调用专门处理畸形数据的部件来进行处理并产生警告事 件),因此测试结果生成器140可以根据解码结果是否指示对配置文件中定义的畸形数据进 行了异常处理来判断网络协议解码器210是否能够正确处理所述畸形数据。如上所述,由于分层协议的原因,这里所述的畸形数据是指以与网络协议解码器 210进行解码的网络协议进行编码的畸形数据。另外,测试设备100可以用于测试网络协议解码器210的解码性能,为此,可以在 配置文件的测试参数中定义生成测试数据的大小和传输速率,这样,测试数据生成器130 在生成测试数据时,可以生成具有预定大小的测试数据,并且以预定速率发生到网络设备 200。如果来自网络设备的解码结果中包括网络协议解码器210处理这些测试数据时的各 种操作性能,例如CPU使用率和内存使用率等,则测试结果生成器140可以据此生成有关该 网络协议解码器210的解码性能的测试报告。上面已经针对测试设备100可以对网络设备200进行测试的各个方面进行了示范 性说明,可以看出,测试设备100可以全面地对网络设备200,尤其是网络设备200中的网络 协议解码器210进行测试。
应当指出的是,上面所给出的网络设备200可以是任何需要对所接收的网络数据 进行解码的设备,而不局限于诸如网络入侵防护系统之类的网络安全设备。图4示意性地示出了根据本发明一个实施例的用于对网络协议解码器进行测试 的测试方法,该测试方法可以在如上所述的测试设备100中执行。如图4所示,该方法始于 步骤S410,其中根据配置文件中定义的要使用的协议模板以及测试中采用的测试参数来生 成测试数据包。如上参考图3所述,配置文件中可以定义一个或者多个测试用例,并且还定 义了在某个测试用例中所要使用的协议模板以及由这些协议模板使用的参数。上面参考图 2A-2D给出了协议模板的具体示例,协议模板与网络协议相对应,协议模板中定义了相应网 络协议的具体结构。通过与各层协议相对应的协议模块的逐层调用,可以构造一个完整的 数据包。协议模板需要来自配置文件的参数来设置相应协议中的各个字段值,以便构造出 适于各个测试环境的测试数据包。如上参考测试设备100所述,协议模板和配置文件可以 预先分别存储在测试设备的协议模板存储器110和配置文件存储器120中。如上所述,配置文件中定义了一个或者多个测试用例,而一个测试用例可以包括 与被测试网络设备的多次交互,因此会涉及在一个网络会话中的多次测试数据发送和接 收,并且也可能涉及多个网络会话。由于进行测试的网络协议通常为多层协议,配置文件除 了定义与作为测试目标的网络协议相对应的协议模板之外,还需要定义与该要进行测量的 网络协议的底层网络协议相对应的协议模板。由于待测试的网络协议是已知的,而且相关 的协议模板中已经定义了相关协议中各个字段,利用配置文件所定义的、与该协议中的字 段相对应的参数或者缺省参数值,就可以生成相应的测试数据。利用配置文件中定义的内 容和相应的网络协议模板来生成测试数据可以由本领域已知任何一种方式来进行。例如, 生成的测试数据可以是Pcap格式的数据流并存放在Pcap文件中。该步骤S410可以由测 试设备中的测试数据生成器130执行。随后在步骤S420中,将所生成的测试数据包发送到网络设备,以便由网络设备中 的网络协议解码器进行解码。这例如可以利用诸如tcpr印lay等之类的网络工具读取例如 在步骤S410中生成的Pcap文件,以获取所生成的测试数据流并将该测试数据流发送到网 络设备以进行测试。步骤S420也可以由测试设备中的测试数据生成器130执行。网络设备接收测试数据,并且由其中的网络协议解码器对该测试数据进行解码。 如上所述,网络设备中包括与各层网络协议相对应的网络协议解码器来逐层地对所接收到 的测试数据进行解码。虽然要测试的是其中的某个网络协议解码器,但是针对测试数据的 解码过程必然会涉及到一些其他网络协议解码器,例如用于对底层网络协议进行解码的网 络协议解码器。此时为了排除其它网络协议解码器的干扰,通常会首先对这些底层网络协 议解码器进行测试,并假定这些网络协议解码器不存在问题。随后,在步骤S430中,获取来自网络设备的解码结果,并基于该解码结果和所述 配置文件来生成测试结果。该步骤可以由测试设备中的测试结果生成器140执行。根据本发明的测试方法利用了协议模板和配置文件来定制要生成的测试数据包, 而且通过在配置文件中定义各种测试参数,可以对网络设备进行全面的测试。例如,如上所述,配置文件中定义的测试参数为配置文件中所要使用的协议模板 所需要的参数,因此通过根据测试环境来定义这些参数,从而生成适于该测试环境的测试 数据。
可选地,该测试方法可以用于测试网络协议解码器能否进行正确解码,此时,可以 在测试参数中设定解码预期值,在步骤S410中生成的测试数据中包含编码后的解码预期 值,而在步骤S430中获得的解码结果包含对该编码后的解码预期值进行解码后所获得数 据,因此生成测试结果可以包括通过检查该解码结果是否包括在测试参数中的解码预期值 来生产有关该网络协议解码器是否解码成功的测试结果。可选地,该测试方法可以用于测试网络协议解码器能否检测出网络攻击。为此,可 以在配置文件的测试参数中定义网络攻击数据,在步骤S410中生成测试数据时,会将网络 攻击数据编码到测试数据中以生成具有网络攻击特征的测试数据。如果网络设备,尤其是 其中的网络协议解码器能够检测出该网络攻击,则来自网络设备的解码结果应当会指示出 检测到该网络攻击(例如,生成警告事件),因此在步骤S430中生成测试结果包括根据解码 结果是否指示了与配置文件中所定义的网络攻击数据相对应的网络攻击来生成网络协议 解码器是否能够检测网络攻击的测试结果。应当注意的是,由于网络协议为分层协议的原因,当针对某层网络协议进行网络 攻击时,一般而言网络攻击数据在该层进行编码,并且也应当由针对该层网络协议的解码 器进行处理,上述方案正是基于此而做出,并且可以对该网络协议解码器是否能够检测针 对相关联网络协议的网络攻击进行测试。可选地,该测试方法可以用于测试网络协议解码器能否正确处理诸如超长或者不 完整数据之类的畸形数据。为此,可以在配置文件的测试参数中定义畸形数据,在步骤S410 中生成测试数据时,会将畸形数据编码到测试数据中以生成具有畸形数据的测试数据。如 果网络设备,尤其是其中的网络协议解码器能够在对测试数据进行解码时正确处理畸形数 据,则来自网络设备的解码结果应当会指示出发现畸形数据并对畸形数据进行专门处理 (例如,调用专门处理畸形数据的部件来进行处理并产生警告事件),因此在步骤S430中可 以根据解码结果是否指示对配置文件中定义的畸形数据进行了异常处理来生成有关网络 协议解码器是否能够正确处理所述畸形数据的测试结果。如上所述,由于分层协议的原因,这里所述的畸形数据是指以与网络协议解码器 进行解码的网络协议进行编码的畸形数据。另外,该测试方法可以用于测试网络协议解码器210的解码性能,为此,可以在配 置文件的测试参数中定义生成测试数据的大小和传输速率,这样,在步骤S410生成测试数 据时,可以生成具有预定大小的测试数据,并且以预定速率发生到网络设备。如果来自网络 设备的解码结果中包括网络协议解码器处理这些测试数据时的各种操作性能,例如CPU使 用率和内存使用率等,则在步骤S430中,可以据此生成有关该网络协议解码器的解码性能 的测试报告。本发明利用协议模板和配置文件来快速且精确地生成测试所需要的测试数据包 和数据流,能够构造现实情况中很难出现的畸形协议数据包,可用于健壮性测试,当然同时 也能覆盖攻击测试和压力测试。应当注意的是,在本发明的测试设备100的各个部件中,根据其要实现的功能而 对其中的部件进行了逻辑划分,但是,本发明不受限于此,可以根据需要对各个部件进行重 新划分或者组合,例如,可以将一些部件组合为单个部件,或者可以将一些部件进一步分解 为更多的子部件。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行 的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用 微处理器或者数字信号处理器(DSP )来实现根据本发明实施例的测试设备中的一些或者全 部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或 者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的 程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号 可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领 域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中, 不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在 未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这 样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来 实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件 项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为 名称。
权利要求
1.一种对网络设备中的网络协议解码器进行测试的测试设备,该网络协议解码器对以 网络协议编码的数据包进行解码,该测试设备包括协议模板存储器,其中存储了一个或者多个协议模板;配置文件存储器,其中存储了配置文件,该配置文件定义了要使用的协议模板以及测 试中采用的测试参数;测试数据生成器,基于所述配置文件从所述协议模板存储器中读取所述要使用的协议 模板,并且根据所读取的协议模板以及所述测试参数来生成测试数据包,并将所生成的测 试数据包发送到所述网络设备,以便由所述网络设备中的网络协议解码器以进行解码;以 及测试结果生成器,从所述网络设备获取解码结果,并且基于该解码结果和所述配置文 件来生成测试结果。
2.如权利要求1所述的协议解码器测试设备,其中所述网络协议为多层网络协议,以 及所述协议模板存储器中存储的每个协议模板处于所述多层网络协议之一层中,所述配置 文件中定义的要使用协议模板包括与要进行测试的网络协议相对应的协议模板以及与该 要进行测量的网络协议的底层网络协议相对应的协议模板。
3.如权利要求1或者2所述的协议解码器测试设备,其中所述测试参数包括各个所述 要使用的协议模板所需要的参数。
4.如权利要求1或者2所述的协议解码器测试设备,其中所述测试参数包括解码预期 值,而且所述测试结果生成器根据所述解码结果是否包括所述解码预期值来判断所述网络 协议解码器是否解码成功。
5.如权利要求1或者2所述的协议解码器测试设备,其中所述测试参数包括网络攻击 数据,而且所述测试结果生成器根据所述解码结果是否指示与所述网络攻击数据相对应的 网络攻击来判断所述网络协议解码器是否能够检测所述网络攻击。
6.如权利要求1或者2所述的协议解码器测试设备,其中所述测试参数包括畸形数据, 而且所述测试结果生成器根据所述解码结果是否指示所述畸形数据被异常处理来判断所 述网络协议解码器是否能够正确处理所述畸形数据。
7.如权利要求1或者2所述的协议解码器测试设备,其中所述测试参数定义了要生成 的测试数据的大小和传输速率,所述解码结果包括所述网络协议解码器处理所述测试数据 时的CPU使用率和内存使用率。
8.如权利要求1或者2所述的协议解码器测试设备,其中所述配置文件以XML格式编写。
9.一种对网络设备中的网络协议解码器进行测试的测试方法,该网络协议解码器对以 网络协议编码的数据包进行解码,该测试方法包括步骤根据配置文件中定义的要使用的协议模板以及测试中采用的测试参数来生成测试数 据包;将所生成的测试数据包发送到所述网络设备,以便由所述网络设备中的网络协议解码 器进行解码;以及获取来自所述网络设备的解码结果,并基于该解码结果和所述配置文件来生成测试结
10.如权利要求9所述的测试方法,其中所述网络协议为多层网络协议,以及每个协议 模板处于所述多层网络协议之一层中,所述配置文件中定义的要使用的协议模板包括与要 进行测试的网络协议相对应的协议模板以及与该要进行测量的网络协议的底层网络协议 相对应的协议模板。
11.如权利要求9或者10所述的测试方法,其中所述测试参数包括各个所述要使用的 协议模板所需要的参数。
12.如权利要求9或者10所述的测试方法,其中所述测试参数包括解码预期值,而且所 述基于该解码结果和所述配置文件来生成测试结果的步骤包括根据所述解码结果是否包括所述解码预期值来生成有关所述网络协议解码器是否解 码成功的测试结果。
13.如权利要求9或者10所述的测试方法,其中所述测试参数包括网络攻击数据,而且 所述基于该解码结果和所述配置文件来生成测试结果的步骤包括根据所述解码结果是否指示与所述网络攻击数据相对应的网络攻击来生成有关所述 网络协议解码器是否能够检测所述网络攻击的测试结果。
14.如权利要求9或者10所述的测试方法,其中所述测试参数包括畸形数据,而且所述 基于该解码结果和所述配置文件来生成测试结果的步骤包括根据所述解码结果是否指示所述畸形数据被异常处理来生成有关所述网络协议解码 器是否能够正确处理所述畸形数据的测试结果。
15.如权利要求9或者10所述的测试方法,其中所述测试参数定义了要生成的测试数 据的大小和传输速率,而且所述基于该解码结果和所述配置文件来生成测试结果的步骤包 括根据所述解码结果中包括的、所述网络协议解码器处理所述测试数据时的CPU使用率 和内存使用率来生成有关所述网络协议解码器的性能的测试结果。
16.如权利要求9或者10所述的测试方法,其中所述配置文件以XML格式编写。
全文摘要
本发明公开了一种对网络设备中的网络协议解码器进行测试的测试设备,包括其中存储了一个或者多个协议模板的协议模板存储器;其中存储了配置文件的配置文件存储器,该配置文件定义了要使用的协议模板以及测试中采用的测试参数;测试数据生成器,基于配置文件中定义的协议模板和测试参数来生成测试数据包,并将所生成的测试数据包发送到网络设备以便由网络设备中的网络协议解码器以进行解码;以及测试结果生成器,基于来自网络设备的解码结果和配置文件来生成测试结果。本发明还公开了相应的测试方法。
文档编号H04L29/06GK102123058SQ20111002159
公开日2011年7月13日 申请日期2011年1月19日 优先权日2011年1月19日
发明者郑崴中 申请人:北京神州绿盟信息安全科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1