CN110061976B - 一种基于数据挖掘的未知协议帧序列提取方法及系统 - Google Patents

一种基于数据挖掘的未知协议帧序列提取方法及系统 Download PDF

Info

Publication number
CN110061976B
CN110061976B CN201910251520.2A CN201910251520A CN110061976B CN 110061976 B CN110061976 B CN 110061976B CN 201910251520 A CN201910251520 A CN 201910251520A CN 110061976 B CN110061976 B CN 110061976B
Authority
CN
China
Prior art keywords
frame sequence
unknown protocol
measurement
control data
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910251520.2A
Other languages
English (en)
Other versions
CN110061976A (zh
Inventor
覃落雨
梁宗闯
周钠
齐维孔
李明
李健珂
王灏宇
衣龙腾
刘晓晖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Academy of Space Technology CAST
Original Assignee
China Academy of Space Technology CAST
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Academy of Space Technology CAST filed Critical China Academy of Space Technology CAST
Priority to CN201910251520.2A priority Critical patent/CN110061976B/zh
Publication of CN110061976A publication Critical patent/CN110061976A/zh
Application granted granted Critical
Publication of CN110061976B publication Critical patent/CN110061976B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0006Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0083Formatting with frames or packets; Protocol or part of protocol for error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/30Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information
    • H04L63/306Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information intercepting packet switched data communications, e.g. Web, Internet or IMS communications

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明一种基于数据挖掘的未知协议帧序列提取方法及系统,采用基于随机探针的频繁项识别方法,确定出未知协议测控数据中正确的引导码;然后采用基于模糊匹配的KMP算法,获取引导码在未知协议测控数据中的所有位置;然后获得初步切分帧序列结果,存放在设定的列表StartList中;统计出所有n bit数据及其出现的次数,存放在设定的哈希表中;找到哈希表中出现次数最多的n bit数据,然后获取帧序列头在未知协议的测控数据中出现的位置,校准初步切分帧序列结果,当获取的帧序列头位置与列表StartList中位置一致时,则判定该位置为正确的帧序列头位置,实现了精确帧序列切分,得到精确的帧序列切分结果,大大降低了系统空间开销和时间开销。

Description

一种基于数据挖掘的未知协议帧序列提取方法及系统
技术领域
本发明涉及一种基于数据挖掘的未知协议帧序列提取方法及系统,属于未知协议帧序列提取技术领域。
背景技术
随着网络技术的发展和应用,通信双方为保证通信内容的安全性,开始使用私有的未知协议进行传输,这给网络的安全运行以及监管带来挑战。在电子信息环境中,监听者通过截获目标通信的物理信号,再通过盲解调等手段得到协议未知的比特流数据。如何高效且准确地从比特流数据中提取出未知协议的帧序列,是现有研究的一个重要课题。
通常,在链路协议已知的情况下,通信双方可通过帧序列同步等功能从比特流中提取出帧序列。但是对于信息获取方而言,无法准确地得知所捕获私有链路协议数据的详细帧格式,仅可根据数据同步理论判断该未知协议比特流的构成如图1所示。因此,信息获取方需要通过数据挖掘等手段,从大量的比特流数据中找出标志帧序列起始和结束的引导序列比特流,然后基于此对帧序列进行切分。
引导序列由一系列频繁重复出现的引导码构成,其频繁重复出现的特点是引导序列区别于噪声数据的最显著特征。因此,大部分研究多采用基于 AC(Aho—corasick)算法的频繁序列挖掘方法。详细步骤如下:
首先,挖掘获得比特流数据中频繁出现的引导码;然后,根据分析出的引导码,采用KMP字符串快速匹配算法,切分出引导序列始末位置;最后,根据找出的引导序列始末位置切分出帧序列。
其中,所述KMP算法为一种高效的字符串匹配算法,由D.E.Knuth, J.H.Morris和V.R.Pratt同时发现,因此人们称它为克努特—莫里斯—普拉特算法(简称KMP算法)。该算法对于朴素匹配算法的改进是引入了一个跳转表next[],利用这种跳转表结构,该算法对于任何模式和目标序列,都可以在线性时间内完成匹配查找,而不会发生退化,是一个非常优秀的模式匹配算法。
但这类AC算法存在两大问题:
(1)计算开销与时间开销较大。在寻找引导码的过程中,由于该算法需要记录整个比特流中所有可能类型及所有可能长度的频繁项,因此,随着频繁序列长度和总比特流长度的增加,空间复杂度将呈指数增长,且挖掘效率较低,这大大增大了计算开销与时间开销。
(2)无法适应引导序列存在随机噪声的情况。在寻找引导码始末位置的过程中,该算法未考虑引导序列可能出现比特错误的情况,因此,对于存在随机噪声的实际通信信道,在引导序列发生比特错误时,该算法会误判引导序列始末位置,从而导致帧序列的错误切分,降低切分准确率。
发明内容
本发明解决的技术问题:克服传统帧序列切分研究面临着两大问题:(1) 在寻找引导码的过程中,记录了整个比特流中所有可能类型及所有可能长度的频繁项,导致系统计算开销和时间开销较大。(2)未考虑实际通信信道会给待分析比特流引入随机噪声的情况,当引导序列发生比特错误时,会误判引导序列始末位置,导致帧序列错误切分,降低帧序列切分准确率,本发明提出了一种基于数据挖掘的未知协议帧序列提取方法及系统,该方法在未知协议测控数据中随机插入探针,仅需读取整个数据流中的部分数据,在探针数量足够多的前提下(实验表明通常不多于20个),能够以近似为1的概率分析出正确的引导码,大大降低了系统空间开销和时间开销。该方案采用模糊匹配而非精确匹配方法以减少信道随机噪声对帧序列切分带来的影响,并采用KMP方法实现字符串的快速匹配,进一步减少帧序列切分的时间开销和空间开销。本发明还在该初步切分出帧序列的基础上,进一步分析帧序列同步头,通过反馈帧同步头位置信息再精确切分帧序列,从而提升帧序列切分准确度。
本发明的技术方案为:一种基于数据挖掘的未知协议帧序列提取方法,包括如下步骤:
步骤1、采用基于随机探针的频繁项识别方法,确定出未知协议测控数据中正确的引导码;
步骤2、采用基于模糊匹配的KMP算法,获取步骤1确定的引导码在未知协议测控数据中的所有位置;
步骤3、根据步骤2引导码的位置,对未知协议测控数据进行初步切分,获得初步切分帧序列结果,包括未知协议测控数据中所有帧序列的开头位置,并分别存放在设定的列表StartList中;
步骤4、从StartList中的每个开头位置出发,每个位置读取之后的n bit 数据,统计出所有n bit数据及其出现的次数,存放在设定的哈希表中;找到哈希表中出现次数最多的n bit数据;
步骤5、获取帧序列头在未知协议测控数据(即源数据)中出现的位置,根据帧序列头在未知协议的测控数据中出现的位置,校准步骤3中的初步切分帧序列结果,当本步骤获取的帧序列头位置与步骤3列表StartList中位置一致时,则判定该位置为正确的帧序列头位置,实现了精确帧序列切分,得到精确的帧序列切分结果。
n bit数据为帧序列头。
步骤2、采用基于模糊匹配的KMP算法,获取步骤1确定的引导码在未知协议测控数据中的所有位置,具体方法为:
步骤21、设置模糊匹配编辑距离阈值,设置引导码探针位置为位置协议测控数据的开始位置,转入步骤22。
步骤22、利用KMP字符串快速匹配算法,计算引导码S1与未知协议测控数据S2的编辑距离。
步骤23、当两个字符串间的编辑距离小于所设置的编辑距离阈值时,判定引导码匹配成功,只是由于信道噪声造成了误码,记录该引导码出现在源数据中的位置;否则,判定引导码匹配失败。转入步骤24。
步骤24、将引导码匹配探针位置后移,判断该探针位置是否移动到未知协议比特流字符串的结束位置,若是,则转入步骤3;否则,转入步骤22。
未知协议测控数据为比特流的形式。
未知协议的测控数据为在卫星信道噪声环境下获取到的由引导序列和帧序列组成的测控数据。
引导序列,由多干相同的引导码组成;帧序列由帧序列头和帧序列数据内容组成。
探针数量参数a决定了探针数量的上界,即探针数量最多为L乘a个,参数b的作用是当未知协议的测控数据长度过长时,以一定比率对探针数量起抑制作用。
n为能够配置的参数,为4的整数倍。
一种基于数据挖掘的未知协议帧序列提取系统,包括:引导码信息获取模块、引导码位置获取模块、帧序列初步切分模块、帧序列头获取模块、帧序列精确切分模块;
引导码信息获取模块,采用基于随机探针的频繁项识别方法,确定出未知协议测控数据(比特流的形式)中正确的引导码;
引导码位置获取模块,采用基于模糊匹配的KMP算法,获取确定的引导码在未知协议测控数据中的所有位置;
帧序列初步切分模块,根据引导码的位置,对未知协议测控数据进行初步切分,获得初步切分帧序列结果,包括未知协议测控数据中所有帧序列的开头位置,并分别存放在设定的列表StartList中;
帧序列头获取模块,从StartList中的每个开头位置出发,每个位置读取之后的nbit数据,统计出所有n bit数据及其出现的次数,存放在设定的哈希表中;找到哈希表中出现次数最多的n bit数据,该n bit数据即为帧序列头。
帧序列精确切分模块,采用基于模糊匹配的KMP算法,获取帧序列头在未知协议的测控数据中出现的位置,根据帧序列头在未知协议的测控数据中出现的位置,校准中的初步切分帧序列结果,当本步骤获取的帧序列头位置与列表StartList中位置一致时,则判定该位置为正确的帧序列头位置,实现了精确帧序列切分,得到精确的帧序列切分结果。
n bit数据为帧序列头。
本发明与现有技术相比的优点在于:
(1)本发明提出了一种基于模糊匹配的KMP算法,该方法采用模糊匹配而非精确匹配方法以减少信道随机噪声对帧序列切分带来的影响,并采用 KMP方法实现字符串的快速匹配,进一步减少帧序列切分的时间开销和空间开销。
(2)本发明还在该初步切分出帧序列的基础上,进一步分析帧序列同步头,通过反馈帧同步头位置信息再精确切分帧序列,从而提升帧序列切分准确度。
(3)传统AC算法虽然简单但是计算开销与时间开销较大,且无法适应引导序列存在随机噪声的情况。本发明提出的基于随机探针的频繁项挖掘方法,通过在未知协议测控数据中随机插入探针,仅需读取整个数据流中的部分数据,在探针数量足够多的前提下(实验表明通常不多于20个),能够以近似为1的概率分析出正确的引导码,大大降低系统空间开销和时间开销。
(4)测试对比实验表明,本发明较传统AC算法时间开销和空间开销减少了2-8倍,且随着数据长度的增加,这种改善效果越明显。此外,当系统误码不高于5%时,本发明较传统AC算法帧序列切分准确率提高了约 15.8%。
(5)本发明可以应用于存在无线信道误码的未知航天器测控协议的提取。
(6) 本发明通过构造随机探针和基于模糊匹配的KMP算法来降低未知协议帧序列提取过程中的时间开销和空间开销。
附图说明
图1为本发明未知协议测控数据结构示意图。
图2为本发明技术方案流程图。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
本发明一种基于数据挖掘的未知协议帧序列提取方法及系统。包括:1、采用基于随机探针的频繁项识别方法,确定出未知协议测控数据(比特流的形式)中正确的引导码;2、采用基于模糊匹配的KMP算法,获取步骤1 确定的引导码在未知协议测控数据中的所有位置;3、根据步骤2引导码的位置,对未知协议测控数据进行初步切分,获得初步切分帧序列结果,包括未知协议测控数据中所有帧序列的开头位置,并分别存放在设定的列表StartList中;4、从StartList中的每个开头位置出发,每个位置读取之后的 n bit数据(n为可配置的参数),统计出所有n bit数据及其出现的次数,存放在设定的哈希表中;找到哈希表中出现次数最多的n bit数据,该n bit 数据即为帧序列头。5、采用基于模糊匹配的KMP算法,获取帧序列头在未知协议的测控数据(即源数据)中出现的位置,根据帧序列头在未知协议的测控数据(即源数据)中出现的位置,校准步骤3中的初步切分帧序列结果,当本步骤获取的帧序列头位置与步骤3列表StartList中位置一致时,则判定该位置为正确的帧序列头位置,实现了精确帧序列切分,得到精确的帧序列切分结果。
本发明一种基于数据挖掘的未知协议帧序列提取方法,包括如下步骤:
步骤1、采用基于随机探针的频繁项识别方法,确定出未知协议测控数据(比特流的形式)中正确的引导码;
步骤2、采用基于模糊匹配的KMP算法,获取步骤1确定的引导码在未知协议测控数据中的所有位置;
步骤3、根据步骤2引导码的位置,对未知协议测控数据进行初步切分,获得初步切分帧序列结果,包括未知协议测控数据中所有帧序列的开头位置,并分别存放在设定的列表StartList中;
步骤4、从StartList中的每个开头位置出发,每个位置读取之后的n bit 数据(n为可配置的参数),统计出所有n bit数据及其出现的次数,存放在设定的哈希表中;找到哈希表中出现次数最多的n bit数据,该n bit数据即为帧序列头;n为能够配置的参数,优选为4的整数倍。
步骤5、采用基于模糊匹配的KMP算法,获取帧序列头在未知协议测控数据(即源数据)中出现的位置,根据帧序列头在未知协议的测控数据(即源数据)中出现的位置,校准步骤3中的初步切分帧序列结果,当本步骤获取的帧序列头位置与步骤3列表StartList中位置一致时,则判定该位置为正确的帧序列头位置,实现了精确帧序列切分,得到精确的帧序列切分结果。
步骤1、采用基于随机探针的频繁项识别方法,确定出未知协议测控数据(未知协议测控数据优选为比特流的形式)的引导序列中正确的引导码,优选方法为:
步骤11、根据未知协议的测控数据总长度,设置探针总数量
Figure GDA0002954342060000071
其中L为未知协议的测控数据的总长度;a和b为探针数量参数,其中a为大于0小于1的实数,b为大于1且小于exp(10,1-a) 的整数。转入步骤12。
步骤12、通过构造随机数生成N个不同探针位置;并初始化一个全局哈希表,用于记录备选的引导码以及其重复出现的次数,转入步骤13。
步骤13、从步骤12的每个探针位置出发挖掘固定长度的引导码,并将挖掘处的引导码作为备选引导码,将该备选引导码及其重复出现次数记录在步骤(12)初始化的哈希表中,转入步骤14。
步骤14、从记录在哈希表中的所有备选引导码中提取出重复出现最多的引导码,作为正确的引导码,转入步骤2。
步骤2、采用基于模糊匹配的KMP算法,获取步骤1确定的引导码在未知协议测控数据中的所有位置,优选方法为:
步骤21、设置模糊匹配编辑距离阈值,设置引导码探针位置为位置协议测控数据的开始位置,转入步骤22。
步骤22、利用KMP字符串快速匹配算法,计算引导码S1与未知协议测控数据S2的编辑距离。编辑距离的计算基于动态规划算法,即基于规划方程将大问题划分成几个小问题进行分别求解,最后将小问题的答案合并成大问题的答案。定义编辑距离函数edit(i,j),它表示第一个字符串的长度为 i的子串到第二个字符串的长度为j的子串的编辑距离。根据如下动态规划公式:
Figure GDA0002954342060000081
对于两个字符串S1和S2,其长度分别为l1和l2,通过动态规划算法求解edit(l1,l2),即得两个字符串的编辑距离,转入步骤23。
步骤23、当两个字符串间的编辑距离小于所设置的编辑距离阈值时,认为引导码匹配成功,只是由于信道噪声造成了误码,记录该引导码出现在源数据中的位置;否则,认为引导码匹配失败。转入步骤24。
步骤24、将引导码匹配探针位置后移,判断该探针位置是否移动到未知协议比特流字符串的结束位置。若是,则转入步骤3;否则,转入步骤22。
步骤5、采用基于模糊匹配的KMP算法,获取帧序列头在未知协议的测控数据(即源数据)中出现的位置,优选方法如下:
具体方法为:
步骤51、设置模糊匹配编辑距离阈值,设置帧序列头探针位置为位置协议测控数据的开始位置,转入步骤52。
步骤52、利用KMP字符串快速匹配算法,计算帧序列头S3与未知协议测控数据S2的编辑距离。编辑距离的计算方式与步骤2一致,对于两个字符串S3和S2,其长度分别为l3和l2,通过动态规划算法求解edit(l3,l2),即得两个字符串的编辑距离,转入步骤53。
步骤53、当两个字符串间的编辑距离小于所设置的编辑距离阈值时,认为帧序列头匹配成功,只是由于信道噪声造成了误码,记录该帧序列头出现在源数据中的位置;否则,认为帧序列头匹配失败。转入步骤54。
步骤54、将帧序列头探针位置后移,判断该探针位置是否移动到未知协议比特流字符串的结束位置。若是,则结束;否则,转入步骤52。
未知协议的测控数据为,在卫星信道噪声环境下获取到的由引导序列和帧序列组成的测控数据。引导序列,由多干相同的引导码组成;帧序列由帧序列头和帧序列数据内容组成。
探针数量参数a决定了探针数量的上界,即探针数量最多为L乘a个,参数b的作用是当未知协议的测控数据长度过长时,以一定比率对探针数量起抑制作用。
引导码信息获取模块,采用基于随机探针的频繁项识别方法,确定出未知协议测控数据(比特流的形式)中正确的引导码,具体为:
先根据未知协议的测控数据总长度,设置探针总数量
Figure GDA0002954342060000091
其中L为未知协议的测控数据的总长度;a和b为探针数量参数,其中a为大于0小于1的实数,b为大于1且小于exp(10,1-a)的整数。然后通过构造随机数生成N个不同探针位置;并初始化一个全局哈希表,用于记录备选的引导码以及其重复出现的次数,然后从步骤12的每个探针位置出发挖掘固定长度的引导码,并将挖掘处的引导码作为备选引导码,将该备选引导码及其重复出现次数记录在初始化的哈希表中,然后从记录在哈希表中的所有备选引导码中提取出重复出现最多的引导码,作为正确的引导码。
如何高效且准确地从比特流数据中提取出未知测控协议的帧序列,是航天器测控协议研究的一个重要课题。传统未知协议帧序列提取方法仅适用于无误码的数据,若直接应用于存在信道误码的航天器未知协议提取中,会带来严重降低切分准确率。因此,本发明涉及一种适用于航天器未知测控协议研究的帧序列提取方法及系统,该发明可以较好适应卫星信道误码的情形,提升帧序列切分准确率。
本发明一种基于数据挖掘的未知协议帧序列提取系统,包括:引导码信息获取模块、引导码位置获取模块、帧序列初步切分模块、帧序列头获取模块、帧序列精确切分模块;
引导码信息获取模块,采用基于随机探针的频繁项识别方法,确定出未知协议测控数据(比特流的形式)中正确的引导码;
引导码位置获取模块,采用基于模糊匹配的KMP算法,获取确定的引导码在未知协议测控数据中的所有位置;
帧序列初步切分模块,根据引导码的位置,对未知协议测控数据进行初步切分,获得初步切分帧序列结果,包括未知协议测控数据中所有帧序列的开头位置,并分别存放在设定的列表StartList中;
帧序列头获取模块,从StartList中的每个开头位置出发,每个位置读取之后的nbit数据(n为可配置的参数),统计出所有n bit数据及其出现的次数,存放在设定的哈希表中;找到哈希表中出现次数最多的n bit数据,该n bit数据即为帧序列头。
帧序列精确切分模块,采用基于模糊匹配的KMP算法,获取帧序列头在未知协议的测控数据(即源数据)中出现的位置,根据帧序列头在未知协议的测控数据(即源数据)中出现的位置,校准中的初步切分帧序列结果,当本步骤获取的帧序列头位置与列表StartList中位置一致时,则判定该位置为正确的帧序列头位置,实现了精确帧序列切分,得到精确的帧序列切分结果。
引导码信息获取模块中采用基于随机探针的频繁项识别方法,确定出未知协议测控数据(未知协议测控数据优选为比特流的形式)的引导序列中正确的引导码,优选方案为:
先根据未知协议的测控数据总长度,设置探针总数量
Figure GDA0002954342060000112
其中L为未知协议的测控数据的总长度;a和b为探针数量参数,其中a为大于0小于1的实数,b为大于1且小于exp(10,1-a)的整数。然后通过构造随机数生成N个不同探针位置;并初始化一个全局哈希表,用于记录备选的引导码以及其重复出现的次数,然后从每个探针位置出发挖掘固定长度的引导码,并将挖掘处的引导码作为备选引导码,将该备选引导码及其重复出现次数记录在初始化的哈希表中,然后从记录在哈希表中的所有备选引导码中提取出重复出现最多的引导码,作为正确的引导码。
引导码位置获取模块,采用基于模糊匹配的KMP算法,获取引导码信息获取模块得到的引导码在未知协议测控数据中的所有位置,优选方案为:
设置模糊匹配编辑距离阈值,设置引导码探针位置为位置协议测控数据的开始位置,然后利用KMP字符串快速匹配算法,计算引导码S1与未知协议测控数据S2的编辑距离。编辑距离的计算基于动态规划算法,即基于规划方程将大问题划分成几个小问题进行分别求解,最后将小问题的答案合并成大问题的答案。定义编辑距离函数edit(i,j),它表示第一个字符串的长度为i的子串到第二个字符串的长度为j的子串的编辑距离。根据如下动态规划公式:
Figure GDA0002954342060000111
对于两个字符串S1和S2,其长度分别为l1和l2,通过动态规划算法求解edit(l1,l2),即得两个字符串的编辑距离,然后当两个字符串间的编辑距离小于所设置的编辑距离阈值时,认为引导码匹配成功,只是由于信道噪声造成了误码,记录该引导码出现在源数据中的位置;否则,认为引导码匹配失败。然后将引导码匹配探针位置后移,判断该探针位置是否移动到未知协议比特流字符串的结束位置。若是,则由帧序列初步切分模块根据引导码的位置,对未知协议测控数据进行初步切分,获得初步切分帧序列结果,包括未知协议测控数据中所有帧序列的开头位置,并分别存放在设定的列表 StartList中;否则,利用KMP字符串快速匹配算法,计算引导码S1与未知协议测控数据S2的编辑距离。
帧序列精确切分模块,采用基于模糊匹配的KMP算法,获取帧序列头在未知协议的测控数据(即源数据)中出现的位置,优选方案如下:
设置模糊匹配编辑距离阈值,设置帧序列头探针位置为位置协议测控数据的开始位置,然后利用KMP字符串快速匹配算法,计算帧序列头S3与未知协议测控数据S2的编辑距离。编辑距离的计算方式与步骤2一致,对于两个字符串S3和S2,其长度分别为l3和l2,通过动态规划算法求解 edit(l3,l2),即得两个字符串的编辑距离,然后当两个字符串间的编辑距离小于所设置的编辑距离阈值时,认为帧序列头匹配成功,只是由于信道噪声造成了误码,记录该帧序列头出现在源数据中的位置;否则,认为帧序列头匹配失败。然后将帧序列头探针位置后移,判断该探针位置是否移动到未知协议比特流字符串的结束位置。若是,则结束;否则,重新利用KMP字符串快速匹配算法,计算帧序列头S3与未知协议测控数据S2的编辑距离。
未知协议的测控数据为,在卫星信道噪声环境下获取到的由引导序列和帧序列组成的测控数据。引导序列,由多干相同的引导码组成;帧序列由帧序列头和帧序列数据内容组成。
探针数量参数a决定了探针数量的上界,即探针数量最多为L乘a个,参数b的作用是当未知协议的测控数据长度过长时,以一定比率对探针数量起抑制作用。
引导码信息获取模块,采用基于随机探针的频繁项识别方法,确定出未知协议测控数据(比特流的形式)中正确的引导码,具体为:
先根据未知协议的测控数据总长度,设置探针总数量
Figure GDA0002954342060000131
其中L为未知协议的测控数据的总长度;a和b为探针数量参数,其中a为大于0小于1的实数,b为大于1且小于exp(10,1-a)的整数。然后通过构造随机数生成N个不同探针位置;并初始化一个全局哈希表,用于记录备选的引导码以及其重复出现的次数,然后从步骤12的每个探针位置出发挖掘固定长度的引导码,并将挖掘处的引导码作为备选引导码,将该备选引导码及其重复出现次数记录在初始化的哈希表中,然后从记录在哈希表中的所有备选引导码中提取出重复出现最多的引导码,作为正确的引导码。
如图2所示,本发明的优选的具体实施方式包括如下步骤:
步骤1、采用基于随机探针的频繁项识别方法,确定出未知协议测控数据(比特流的形式)中正确的引导码;
步骤2、采用基于模糊匹配的KMP算法,获取步骤1确定的引导码在未知协议测控数据中的所有位置;
步骤3、根据步骤2引导码的位置,对未知协议测控数据进行初步切分,获得初步切分帧序列结果,包括未知协议测控数据中所有帧序列的开头位置,并分别存放在设定的列表StartList中;
步骤4、从StartList中的每个开头位置出发,每个位置读取之后的n bit 数据(n为可配置的参数),统计出所有n bit数据及其出现的次数,存放在设定的哈希表中;找到哈希表中出现次数最多的n bit数据,该n bit数据即为帧序列头。
步骤5、采用基于模糊匹配的KMP算法,获取帧序列头在未知协议测控数据(即源数据)中出现的位置,根据帧序列头在未知协议的测控数据(即源数据)中出现的位置,校准步骤3中的初步切分帧序列结果,当本步骤获取的帧序列头位置与步骤3列表StartList中位置一致时,则判定该位置为正确的帧序列头位置,实现了精确帧序列切分,得到精确的帧序列切分结果。
所述步骤1的具体方法为:
步骤11、根据未知协议的测控数据总长度,设置探针总数量
Figure GDA0002954342060000141
其中L为未知协议的测控数据的总长度;a和b为探针数量参数,其中a为大于0小于1的实数,b为大于1且小于exp(10,1-a) 的整数。转入步骤12。
步骤12、通过构造随机数生成N个不同探针位置;并初始化一个全局哈希表,用于记录备选的引导码以及其重复出现的次数,转入步骤13。
步骤13、从步骤12的每个探针位置出发挖掘固定长度的引导码,并将挖掘处的引导码作为备选引导码,将该备选引导码及其重复出现次数记录在步骤(12)初始化的哈希表中,转入步骤14。
步骤14、从记录在哈希表中的所有备选引导码中提取出重复出现最多的引导码,作为正确的引导码,转入步骤2。
所述步骤2的具体方法为:
步骤21、设置模糊匹配编辑距离阈值,设置引导码探针位置为位置协议测控数据的开始位置,转入步骤22。
步骤22、利用KMP字符串快速匹配算法,计算引导码S1与未知协议测控数据S2的编辑距离。编辑距离的计算基于动态规划算法,即基于规划方程将大问题划分成几个小问题进行分别求解,最后将小问题的答案合并成大问题的答案。定义编辑距离函数edit(i,j),它表示第一个字符串的长度为 i的子串到第二个字符串的长度为j的子串的编辑距离。根据如下动态规划公式:
Figure GDA0002954342060000151
对于两个字符串S1和S2,其长度分别为l1和l2,通过动态规划算法求解edit(l1,l2),即得两个字符串的编辑距离,转入步骤23。
步骤23、当两个字符串间的编辑距离小于所设置的编辑距离阈值时,认为引导码匹配成功,只是由于信道噪声造成了误码,记录该引导码出现在源数据中的位置;否则,认为引导码匹配失败。转入步骤24。
步骤24、将引导码匹配探针位置后移,判断该探针位置是否移动到未知协议比特流字符串的结束位置。若是,则转入步骤3;否则,转入步骤22。
所述步骤5的具体方法为:
步骤51、设置模糊匹配编辑距离阈值,设置帧序列头探针位置为位置协议测控数据的开始位置,转入步骤52。
步骤52、利用KMP字符串快速匹配算法,计算帧序列头S3与未知协议测控数据S2的编辑距离。编辑距离的计算方式与步骤2一致,对于两个字符串S3和S2,其长度分别为l3和l2,通过动态规划算法求解edit(l3,l2),即得两个字符串的编辑距离,转入步骤53。
步骤53、当两个字符串间的编辑距离小于所设置的编辑距离阈值时,认为帧序列头匹配成功,只是由于信道噪声造成了误码,记录该帧序列头出现在源数据中的位置;否则,认为帧序列头匹配失败。转入步骤54。
步骤54、将帧序列头探针位置后移,判断该探针位置是否移动到未知协议比特流字符串的结束位置。若是,则结束;否则,转入步骤52。
本发明中的一种基于模糊匹配的KMP算法,采用模糊匹配而非精确匹配方法以减少信道随机噪声对帧序列切分带来的影响,并采用KMP方法实现字符串的快速匹配,进一步减少帧序列切分的时间开销和空间开销。本发明还在该初步切分出帧序列的基础上,进一步分析帧序列同步头,通过反馈帧同步头位置信息再精确切分帧序列,从而提升帧序列切分准确度。本发明提出的基于随机探针的频繁项挖掘方法,通过在未知协议测控数据中随机插入探针,仅需读取整个数据流中的部分数据,相比于传统AC算法,可以大大降低系统空间开销和时间开销。
测试对比实验表明,在探针数量足够多的前提下(实验表明通常不多于20个),能够以近似为1的概率分析出正确的引导码,本发明较传统AC 算法时间开销和空间开销减少了2-8倍,且随着数据长度的增加,这种改善效果越明显。此外,当系统误码不高于5%时,本发明较传统AC算法帧序列切分准确率提高了约15.8%。

Claims (9)

1.一种基于数据挖掘的未知协议帧序列提取方法,其特征在于包括如下步骤:
步骤1、采用基于随机探针的频繁项识别方法,确定出未知协议测控数据中正确的引导码;
步骤2、采用基于模糊匹配的KMP算法,获取步骤1确定的引导码在未知协议测控数据中的所有位置;
步骤3、根据步骤2引导码的位置,对未知协议测控数据进行初步切分,获得初步切分帧序列结果,包括未知协议测控数据中所有帧序列的开头位置,并分别存放在设定的列表StartList中;
步骤4、从StartList中的每个开头位置出发,每个位置读取之后的n bit数据,统计出所有n bit数据及其出现的次数,存放在设定的哈希表中;找到哈希表中出现次数最多的nbit数据;
步骤5、获取帧序列头在未知协议测控数据中出现的位置,根据帧序列头在未知协议的测控数据中出现的位置,校准步骤3中的初步切分帧序列结果,当本步骤获取的帧序列头位置与步骤3列表StartList中位置一致时,则判定该位置为正确的帧序列头位置,实现了精确帧序列切分,得到精确的帧序列切分结果。
2.根据权利要求1所述的一种基于数据挖掘的未知协议帧序列提取方法,其特征在于:n bit数据为帧序列头。
3.根据权利要求1所述的一种基于数据挖掘的未知协议帧序列提取方法,其特征在于:所述步骤2、采用基于模糊匹配的KMP算法,获取步骤1确定的引导码在未知协议测控数据中的所有位置,具体方法为:
步骤21、设置模糊匹配编辑距离阈值,设置引导码探针位置为位置协议测控数据的开始位置,转入步骤22;
步骤22、利用KMP字符串快速匹配算法,计算引导码S1与未知协议测控数据S2的编辑距离;
步骤23、当两个字符串间的编辑距离小于所设置的编辑距离阈值时,判定引导码匹配成功,只是由于信道噪声造成了误码,记录该引导码出现在源数据中的位置;否则,判定引导码匹配失败;转入步骤24;
步骤24、将引导码匹配探针位置后移,判断该探针位置是否移动到未知协议比特流字符串的结束位置,若是,则转入步骤3;否则,转入步骤22。
4.根据权利要求1所述的一种基于数据挖掘的未知协议帧序列提取方法,其特征在于:未知协议测控数据为比特流的形式。
5.根据权利要求1所述的一种基于数据挖掘的未知协议帧序列提取方法,其特征在于:未知协议的测控数据为在卫星信道噪声环境下获取到的由引导序列和帧序列组成的测控数据。
6.根据权利要求1所述的一种基于数据挖掘的未知协议帧序列提取方法,其特征在于:引导序列,由多干相同的引导码组成;帧序列由帧序列头和帧序列数据内容组成。
7.根据权利要求1所述的一种基于数据挖掘的未知协议帧序列提取方法,其特征在于:n为能够配置的参数,为4的整数倍。
8.一种基于数据挖掘的未知协议帧序列提取系统,其特征在于:包括引导码信息获取模块、引导码位置获取模块、帧序列初步切分模块、帧序列头获取模块、帧序列精确切分模块;
引导码信息获取模块,采用基于随机探针的频繁项识别方法,确定出未知协议测控数据中正确的引导码;
引导码位置获取模块,采用基于模糊匹配的KMP算法,获取确定的引导码在未知协议测控数据中的所有位置;
帧序列初步切分模块,根据引导码的位置,对未知协议测控数据进行初步切分,获得初步切分帧序列结果,包括未知协议测控数据中所有帧序列的开头位置,并分别存放在设定的列表StartList中;
帧序列头获取模块,从StartList中的每个开头位置出发,每个位置读取之后的n bit数据,统计出所有n bit数据及其出现的次数,存放在设定的哈希表中;找到哈希表中出现次数最多的n bit数据,该n bit数据即为帧序列头;
帧序列精确切分模块,采用基于模糊匹配的KMP算法,获取帧序列头在未知协议的测控数据中出现的位置,根据帧序列头在未知协议的测控数据中出现的位置,校准中的初步切分帧序列结果,当本步骤获取的帧序列头位置与列表StartList中位置一致时,则判定该位置为正确的帧序列头位置,实现了精确帧序列切分,得到精确的帧序列切分结果。
9.根据权利要求8所述的一种基于数据挖掘的未知协议帧序列提取系统,其特征在于:n bit数据为帧序列头。
CN201910251520.2A 2019-03-29 2019-03-29 一种基于数据挖掘的未知协议帧序列提取方法及系统 Active CN110061976B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910251520.2A CN110061976B (zh) 2019-03-29 2019-03-29 一种基于数据挖掘的未知协议帧序列提取方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910251520.2A CN110061976B (zh) 2019-03-29 2019-03-29 一种基于数据挖掘的未知协议帧序列提取方法及系统

Publications (2)

Publication Number Publication Date
CN110061976A CN110061976A (zh) 2019-07-26
CN110061976B true CN110061976B (zh) 2021-06-11

Family

ID=67318009

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910251520.2A Active CN110061976B (zh) 2019-03-29 2019-03-29 一种基于数据挖掘的未知协议帧序列提取方法及系统

Country Status (1)

Country Link
CN (1) CN110061976B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103812729A (zh) * 2014-02-19 2014-05-21 北京理工大学 一种网络协议模糊测试方法和装置
CN105960026A (zh) * 2016-07-11 2016-09-21 辽宁大学 交通监控中基于模糊聚类的无线传感网mac协议

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8411737B2 (en) * 2009-03-05 2013-04-02 Nokia Corporation Transmission of physical layer signaling in a broadcast system
CN104796407B (zh) * 2015-03-23 2018-03-30 电子科技大学 一种未知协议特征的提取方法
CN105791278B (zh) * 2016-02-29 2019-01-22 中国工程物理研究院计算机应用研究所 一种未知二进制协议帧切分与层次划分方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103812729A (zh) * 2014-02-19 2014-05-21 北京理工大学 一种网络协议模糊测试方法和装置
CN105960026A (zh) * 2016-07-11 2016-09-21 辽宁大学 交通监控中基于模糊聚类的无线传感网mac协议

Also Published As

Publication number Publication date
CN110061976A (zh) 2019-07-26

Similar Documents

Publication Publication Date Title
JP5090523B2 (ja) 複数の検索の組み合わせを使用して、オーディオ/ビデオの指紋検索精度を改善する方法及び装置
CN111506599B (zh) 基于规则匹配和深度学习的工控设备识别方法及系统
CN101821734B (zh) 时基媒体之间的匹配的检测和分类
KR101468231B1 (ko) 라벨 검색 방법 및 장치
CN103593464A (zh) 基于视觉特征的视频指纹检测及视频序列匹配方法及系统
CN103324632B (zh) 一种基于协同学习的概念识别方法及装置
JP2006053920A (ja) 文字認識プログラム、文字認識方法および文字認識装置
CN111507215B (zh) 基于时空卷积循环神经网络与空洞卷积的视频目标分割方法
CN109212491A (zh) 一种基于雷达信号指纹特征的辐射源识别方法
CN111835738B (zh) 一种基于时间序列挖掘的网络异常流量自动检测方法
CN109635743A (zh) 一种结合stn模块的文本检测深度学习方法及系统
CN112132103A (zh) 一种视频人脸检测识别方法和系统
CN110061976B (zh) 一种基于数据挖掘的未知协议帧序列提取方法及系统
CN105844200A (zh) 一种判断条码类型的方法
CN103414722B (zh) 一种空间链路协议盲识别方法与系统
CN112949523A (zh) 从身份证影像图片中提取关键信息的方法与系统
Su et al. Robust seed-based stroke width transform for text detection in natural images
CN111063394A (zh) 基于基因序列的物种快速查找及建库方法、系统和介质
CN116361327A (zh) 一种基于二级时空索引的轨迹伴随关系挖掘方法和系统
CN112541505B (zh) 文本识别方法、装置以及计算机可读存储介质
CN112562647B (zh) 一种音频起始点的标注方法及装置
CN109961046B (zh) 基于关键帧回溯构建动态样本集的视频流人脸识别方法
CN112732972A (zh) 一种音频指纹生成系统及方法
CN114222193B (zh) 一种视频字幕时间对齐模型训练方法及系统
CN111785296B (zh) 基于重复旋律的音乐分段边界识别方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant