一种数据包生成方法、装置及计算机可读存储介质制造方法及图纸

技术编号:19703113 阅读:26 留言:0更新日期:2018-12-08 14:26
本发明专利技术属于数据包生成技术领域,特别是涉及一种数据包生成方法、装置及计算机可读存储介质,该方法包括:接收待生成数据包包头内各个关键字段所在的目标字节的目标值、掩码和任意相邻的两个所述目标字节之间的间隔值;针对每个所述目标字节,将所述目标值添加到所述目标字节中与所述掩码中第一预设值对应的比特位上,将所述目标字节中与所述掩码中第二预设值对应的比特位上添加第二预设值补位,得到目标字节值;根据多个所述目标字节值及根据所述间隔值确定的补位字符串生成与所述目标协议类型对应的包头内容;将所述包头内容和预设的数据字段进行封装,得到所述待生成数据包。本发明专利技术能够提高数据包生成过程效率。

【技术实现步骤摘要】
一种数据包生成方法、装置及计算机可读存储介质
本专利技术属于数据包生成
,特别是涉及一种数据包生成方法、装置及计算机可读存储介质。
技术介绍
数据包生成器是一种可以产生特定类型、特定长度和特定速率的数据包的工具。数据包生成器的主要功能就是对真实的包激励环境的模拟,通过对数据包的构造,生成数据流,达到测试包处理设备的目的。数据包生成器在交换机和路由器等产品的测试和协议的开发中,有着举足轻重的作用。测试者只需为被测试对象搭建一个简单的测试环境就可以进行测试了,而不必将其放入实际运行的环境中去,同时,降低了测试的风险和成本。目前存在的数据包生成器主要为软件实现,现有的数据包生成器一般只能够生成一种特定协议类型的数据包。当测试工作需要变换数据包协议类型时,十分不方便或者无法提供测试所需协议类型的数据包。因此,导致了现有技术中存在的数据包生成过程效率低下的问题。
技术实现思路
针对现有技术中存在的问题,本专利技术提供一种数据包生成方法、装置及计算机可读存储介质,解决了现有技术中存在的数据包生成过程效率低下的技术问题。为了实现上述目的,本专利技术采用以下的技术方案:本专利技术提供一种数据包生成方法,该方法包括:接收待生成数据包包头内各个关键字段所在的目标字节的目标值、掩码和任意相邻的两个所述目标字节之间的间隔值,其中,所述掩码和所述间隔值是根据待生成数据包所支持的目标协议类型对应的包头格式确定的;针对每个所述目标字节,将所述目标值添加到所述目标字节中与所述掩码中第一预设值对应的比特位上,将所述目标字节中与所述掩码中第二预设值对应的比特位上添加第二预设值补位,得到目标字节值;根据多个所述目标字节值及根据所述间隔值确定的补位字符串生成与所述目标协议类型对应的包头内容;将所述包头内容和预设的数据字段进行封装,得到所述待生成数据包。优选地,所述根据多个所述目标字节值及根据所述间隔值确定的补位字符串生成与所述目标协议类型对应的包头内容,具体包括:将多个所述目标字节值按照所述目标值的接收顺序进行首尾拼接,得到字符串;在所述字符串中每个所述间隔值对应的位置插入根据所述间隔值确定的补位字符串,得到与所述目标协议类型对应的包头内容。优选地,所述在所述字符串中每个所述间隔值对应的位置插入根据所述间隔值确定的补位字符串,具体包括:将多个根据所述间隔值确定的所述补位字符串分多次插入到所述字符串中的对应位置,每次插入所述间隔值后得到一个拓展字符串;进行多次所述拓展字符串迭代替换,直至所述字符串中各所述间隔值对应的位置均插入根据所述间隔值确定的补位字符串。优选地,所述拓展字符串迭代替换,具体包括:利用后一个所述拓展字符串中的所述补位字符串及所述补位字符串后相邻的所述目标字节值,替换前一个所述拓展字符串中的所述补位字符串后第二个所述目标字节值;将得到的新的拓展字符串存储在所述后一个拓展字符串与再进行下一次拓展字符串迭代替换时的前一个拓展字符串之间。本专利技术还提供了一种数据包生成装置,该装置包括:接收模块,用于接收待生成数据包包头内各个关键字段所在的目标字节的目标值、掩码和任意相邻的两个所述目标字节之间的间隔值,其中,所述掩码和所述间隔值是根据待生成数据包所支持的目标协议类型对应的包头格式确定的;添加模块,用于针对每个所述目标字节,将所述目标值添加到所述目标字节中与所述掩码中第一预设值对应的比特位上,将所述目标字节中与所述掩码中第二预设值对应的比特位上添加第二预设值补位,得到目标字节值;生成模块,用于根据多个所述目标字节值及根据所述间隔值确定的补位字符串生成与所述目标协议类型对应的包头内容;封装模块,用于将所述包头内容和预设的数据字段进行封装,得到所述待生成数据包。优选地,所述生成模块包括:拼接子模块,用于将多个所述目标字节值按照所述目标值的接收顺序进行首尾拼接,得到字符串;插入子模块,用于在所述字符串中每个所述间隔值对应的位置插入根据所述间隔值确定的补位字符串,得到与所述目标协议类型对应的包头内容。优选地,所述插入子模块包括:插入单元,用于将多个根据所述间隔值确定的所述补位字符串分多次插入到所述字符串中的对应位置,每次插入所述间隔值后得到一个拓展字符串;替换单元,用于进行多次所述拓展字符串迭代替换,直至所述字符串中各所述间隔值对应的位置均插入根据所述间隔值确定的补位字符串。优选地,所述替换单元包括:替换子单元,用于利用后一个所述拓展字符串中的所述补位字符串及所述补位字符串后相邻的所述目标字节值,替换前一个所述拓展字符串中的所述补位字符串后第二个所述目标字节值;存储子单元,用于将得到的新的拓展字符串存储在所述后一个拓展字符串与再进行下一次拓展字符串迭代替换时的前一个拓展字符串之间。本专利技术还提供了一种计算机可读存储介质,该计算机可读存储介质存储具有处理器可执行的非易失的程序代码,所述程序代码使所述处理器执行上述的一种数据包生成方法。与现有技术相比,本专利技术具有以下优点:当用户需要支持目标协议类型的数据包时,可以预先根据所述目标协议类型对应的包头格式确定所述掩码和所述间隔值,同时确定关键字段所在的目标字节的目标值,然后利用本专利技术的数据包生成方法得到待生成数据包,首先,接收待生成数据包包头内各个关键字段所在的目标字节的目标值、掩码和任意相邻的两个所述目标字节之间的间隔值;针对每个所述目标字节,将所述目标值添加到所述目标字节中与所述掩码中第一预设值对应的比特位上,将所述目标字节中与所述掩码中第二预设值对应的比特位上添加第二预设值补位,得到目标字节值;根据多个所述目标字节值及根据所述间隔值确定的补位字符串生成与所述目标协议类型对应的包头内容;将所述包头内容和预设的数据字段进行封装,得到所述待生成数据包。这样,得到的数据包就是用户需要支持目标协议类型的数据包,此时,当用于需要支持另一个目标协议类型的数据包时,可以预先根据另一个目标协议类型对应的包头格式确定掩码和间隔值,同时确定关键字段所在的目标字节的目标值,然后再次利用数据包生成方法得到与另一个目标协议类型的数据包,避免由于现有的数据包生成器一般只能够生成一种特定协议类型的数据包,当测试工作需要变换数据包协议类型时,现有技术十分不方便或者无法提供测试所需协议类型的数据包的问题,因此,解决了现有技术中存在的数据包生成过程效率低下的技术问题,达到了提高数据包生成过程效率的技术效果。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种数据包生成方法的流程图;图2为生成与目标协议类型对应的包头内容方法的流程图;图3为在字符串中插入根据间隔值确定的补位字符串方法的流程图;图4为拓展字符串迭代替换方法的流程图;图5为拓展字符串迭代替换的顺序图;图6为本专利技术实施例所提供的一种数据包生成装置的结构框图;图7为本专利技术实施例所提供的一种数据包生成装置中生成模块的结构框图;图8为本专利技术实施例所提供的一种数据包生成装置中插入子模块的结构框图;图9为本专利技术实施例所提供的一种数据包生成装置中替换单元的本文档来自技高网...

【技术保护点】
1.一种数据包生成方法,其特征在于,该方法包括:接收待生成数据包包头内各个关键字段所在的目标字节的目标值、掩码和任意相邻的两个所述目标字节之间的间隔值,其中,所述掩码和所述间隔值是根据待生成数据包所支持的目标协议类型对应的包头格式确定的;针对每个所述目标字节,将所述目标值添加到所述目标字节中与所述掩码中第一预设值对应的比特位上,将所述目标字节中与所述掩码中第二预设值对应的比特位上添加第二预设值补位,得到目标字节值;根据多个所述目标字节值及根据所述间隔值确定的补位字符串生成与所述目标协议类型对应的包头内容;将所述包头内容和预设的数据字段进行封装,得到所述待生成数据包。

【技术特征摘要】
1.一种数据包生成方法,其特征在于,该方法包括:接收待生成数据包包头内各个关键字段所在的目标字节的目标值、掩码和任意相邻的两个所述目标字节之间的间隔值,其中,所述掩码和所述间隔值是根据待生成数据包所支持的目标协议类型对应的包头格式确定的;针对每个所述目标字节,将所述目标值添加到所述目标字节中与所述掩码中第一预设值对应的比特位上,将所述目标字节中与所述掩码中第二预设值对应的比特位上添加第二预设值补位,得到目标字节值;根据多个所述目标字节值及根据所述间隔值确定的补位字符串生成与所述目标协议类型对应的包头内容;将所述包头内容和预设的数据字段进行封装,得到所述待生成数据包。2.根据权利要求1所述的数据包生成方法,其特征在于,所述根据多个所述目标字节值及根据所述间隔值确定的补位字符串生成与所述目标协议类型对应的包头内容,具体包括:将多个所述目标字节值按照所述目标值的接收顺序进行首尾拼接,得到字符串;在所述字符串中每个所述间隔值对应的位置插入根据所述间隔值确定的补位字符串,得到与所述目标协议类型对应的包头内容。3.根据权利要求2所述的数据包生成方法,其特征在于,所述在所述字符串中每个所述间隔值对应的位置插入根据所述间隔值确定的补位字符串,具体包括:将多个根据所述间隔值确定的所述补位字符串分多次插入到所述字符串中的对应位置,每次插入所述间隔值后得到一个拓展字符串;进行多次所述拓展字符串迭代替换,直至所述字符串中各所述间隔值对应的位置均插入根据所述间隔值确定的补位字符串。4.根据权利要求3所述的数据包生成方法,其特征在于,所述拓展字符串迭代替换,具体包括:利用后一个所述拓展字符串中的所述补位字符串及所述补位字符串后相邻的所述目标字节值,替换前一个所述拓展字符串中的所述补位字符串后第二个所述目标字节值;将得到的新的拓展字符串存储在所述后一个拓展字符串与再进行下一次拓展字符串迭代替换时的前一个拓展字符串之间。5.一种数据包生成装置,其特征在于,该装置包括:接收模块,用于接收待生成数据包包...

【专利技术属性】
技术研发人员:董春雷刘勤让吕平沈剑良陈艇李沛杰汪欣谭力波赵博张文建
申请(专利权)人:中国人民解放军战略支援部队信息工程大学天津市滨海新区信息技术创新中心
类型:发明
国别省市:河南,41

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

1