[发明专利]一种未知协议报文格式推断方法有效
| 申请号: | 201510185514.3 | 申请日: | 2015-04-20 |
| 公开(公告)号: | CN104935567B | 公开(公告)日: | 2017-11-03 |
| 发明(设计)人: | 詹成;石荣;李剑;张伟;李洲 | 申请(专利权)人: | 中国电子科技集团公司第二十九研究所 |
| 主分类号: | H04L29/06 | 分类号: | H04L29/06 |
| 代理公司: | 西北工业大学专利中心61204 | 代理人: | 陈星 |
| 地址: | 610036 *** | 国省代码: | 四川;51 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 未知 协议 报文 格式 推断 方法 | ||
1.一种未知协议报文格式推断方法,其特征在于:包括以下步骤:
步骤1:采集N个数据包序列,按照数据包序列的长度对数据包序列进行排序;建立最底层具有N个叶子节点,高度为的比对完全二叉树;比对完全二叉树初始时,将排序后的N个数据包序列依次对应赋值给最底层N个叶子节点,每个叶子节点内的值为一个数据包序列,其余节点为空值;
步骤2:根据构造的比对完全二叉树,按照下面的规则自下而上进行序列比对,使得比对完全二叉树中的每个节点均有值,且每条边均有对应的空格插入操作方式:若一个节点为空值,并且它的左右子节点均有值,则对其子节点进行序列比对,并将比对结果序列存储到该节点中,同时将序列比对产生的空格插入操作方式记录到对应的边上;
所述序列比对采用以下方法:
步骤2.1:构造一个行数为M+1,列数为K+1的矩阵,其中M为第一数据包序列的长度,K为第二数据包序列的长度;
步骤2.2:将第一数据包序列放置在矩阵左侧,且第一数据包序列中的每个字符对应矩阵的一行,第一数据包序列的所有字符依次对应第2行至第M+1行;将第二数据包序列放置在矩阵上方,且第二数据包序列中的每个字符对应矩阵的一列,第二数据包序列的所有字符依次对应第2列至第K+1列;
步骤2.3:将矩阵的第1行和第1列的元素全部赋0;矩阵中的其余元素值通过以下公式得到:
Qij为矩阵第i行第j列的元素值,i取2~M+1,j取2至K+1,Sij为打分值,若矩阵第i行对应的第一数据包序列中的字符与矩阵第j列对应的第二数据包序列中的字符相同,则Sij=1,否则Sij=0;
步骤2.4:对于步骤2.3得到的赋值完成的矩阵,从矩阵中取值最大的元素开始,反向跟踪到矩阵的第1行第1列元素,得到一条从矩阵中取值最大的元素到矩阵第1行第1列元素的路径;所述反向跟踪的规则为:对于第i行第j列元素:比较第i-1行第j列元素、第i行第j-1列元素、第i-1行第j-1列元素的元素值,第i行第j列元素的反向跟踪方向为第i-1行第j列元素、第i行第j-1列元素、第i-1行第j-1列元素中元素值最大的元素位置,若第i-1行第j列元素、第i行第j-1列元素、第i-1行第j-1列元素的元素值相同,则第i行第j列元素的反向跟踪方向为第i-1行第j-1列元素位置;
步骤2.5:根据步骤2.4得到的路径,得到第一数据包序列和第二数据包序列的空格插入操作方式:对于处于路径中的第i行第j列元素:
若反向跟踪方向为第i-1行第j-1列元素位置,则不进行操作;
若反向跟踪方向为第i行第j-1列元素位置,则在第一数据包序列中插入空格,空格插入位置为矩阵第i行对应的字符与矩阵第i+1行对应的字符之间;
若反向跟踪方向为第i-1行第j列元素位置,则在第二数据包序列中插入空格,空格插入位置为矩阵第j列对应的字符与矩阵第j+1列对应的字符之间;
步骤2.6:将第一数据包序列和第二数据包序列按照步骤2.5得到的空格插入操作方式插入空格,得到比对结果序列;
步骤3:比对完全二叉树的根节点中得到所有叶子节点对齐的结果,所述所有叶子节点对齐的结果具有相同的长度;在所有叶子节点对齐的结果中,具有相同位置且字符相同的部分组成推断出的协议报文格式。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电子科技集团公司第二十九研究所,未经中国电子科技集团公司第二十九研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510185514.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种登录方法、鉴权方法及设备
- 下一篇:一种更新数值系统的方法及装置





