CN113364647A - 基于多任务网络的快速协议栈识别方法及系统 - Google Patents

基于多任务网络的快速协议栈识别方法及系统 Download PDF

Info

Publication number
CN113364647A
CN113364647A CN202110621560.9A CN202110621560A CN113364647A CN 113364647 A CN113364647 A CN 113364647A CN 202110621560 A CN202110621560 A CN 202110621560A CN 113364647 A CN113364647 A CN 113364647A
Authority
CN
China
Prior art keywords
module
protocol
prediction
protocol stack
model
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.)
Granted
Application number
CN202110621560.9A
Other languages
English (en)
Other versions
CN113364647B (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.)
Shanghai Netis Technologies Co ltd
Original Assignee
Shanghai Netis Technologies Co ltd
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 Shanghai Netis Technologies Co ltd filed Critical Shanghai Netis Technologies Co ltd
Priority to CN202110621560.9A priority Critical patent/CN113364647B/zh
Publication of CN113364647A publication Critical patent/CN113364647A/zh
Application granted granted Critical
Publication of CN113364647B publication Critical patent/CN113364647B/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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/18Protocol analysers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Probability & Statistics with Applications (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明提供了一种基于多任务网络的快速协议栈识别方法及系统,包括如下步骤:步骤1:构建多任务模型;步骤2:根据多任务模型进行协议栈识别。本发明使用模型预测取代“穷举解析协议”,使用多任务模型,可以同时给出“当前层协议类型”以及“下一层协议开始位置”的预测,提高协议栈解析效率;且本发明使用“禁止规则集合”引入人工先验知识,提高协议栈解析的合理性、准确率。

Description

基于多任务网络的快速协议栈识别方法及系统
技术领域
本发明涉及协议栈识别的技术领域,具体地,涉及一种基于多任务网络的快速协议栈识别方法及系统。
背景技术
协议栈识别是网络数据协议分析、协议包数量统计等网络运维领域工作的基础。由于网络数据的协议栈由协议灵活组合产生,所以对协议栈的解析是一个较为复杂的工作。目前协议栈的解析一般是从外到内逐层解析的,解析本层协议时,必须先完成上层协议的解析,在这一过程中将消耗大量的实践。
公开号为CN112804119A的中国发明申请文件公开了一种基于卷积神经网络的MAC协议识别方法,包括如下步骤:(1)产生训练数据:首先获得已打标签的原始采样数据,数据形式为时间—功率值序列,然后将原始采样数据转换为时频图;(2)卷积神经网络训练:将所产生的时频图输入到卷积神经网络进行训练,得到训练好的卷积神经网络模型;(3)MAC协议识别:对待识别网络的信号进行数据采集并转化为时频图,将时频图输入训练好的卷积神经网络模型,实现协议的识别。该文件采用图像化识别思路,将通信网络的原始通信数据转换成时频图,利用卷积神经网络对时频图分类,实现对目标网络MAC协议类型的识别。
针对上述中的现有技术,发明人认为协议栈的解析较为复杂,协议栈的解析效率较低。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种基于多任务网络的快速协议栈识别方法及系统。
根据本发明提供的一种基于多任务网络的快速协议栈识别方法,包括如下步骤:
步骤1:构建多任务模型;
步骤2:根据所述多任务模型进行协议栈识别。
优选的,所述步骤1包括如下步骤:
步骤1.1:读取数据流量记录,加载已有协议识别软件模块;
步骤1.2:基于所述已有协议识别软件模块构建训练数据;
步骤1.3:构建多任务模型,所述多任务模型包括“协议预测”子模型和“偏移量预测”子模型;
步骤1.4:基于所述步骤1.2的训练数据预训练“协议预测”子模型;
步骤1.5:训练所述多任务模型。
优选的,所述步骤2包括如下步骤:
步骤2.1:加载所述步骤1.5训练完毕的多任务模型;
步骤2.2:读取需要进行协议栈识别的流量数据记录;
步骤2.3:构建“禁止规则集合”;
步骤2.4:根据“禁止规则集合”使用所述步骤2.1的多任务模型解析从初始偏移量为预定值开始,分层解析每一条流量数据的协议;
步骤2.5:构建“协议栈预测树”,通过所述“协议栈预测树”存储所述步骤2.4所生成的元素;
步骤2.6:基于“协议栈预测树”的先序遍历-回溯过程生成协议栈。
优选的,所述步骤1.3包括如下步骤:
步骤1.3.1:构建“协议预测”子模型;
步骤1.3.2:构建“偏移量预测”子模型;
步骤1.3.3:对接所述“协议预测”子模型和“偏移量预测”子模型形成多任务模型:将“协议预测”子模型的输出层对接“偏移量预测”子模型的输入层,形成多任务模型。
优选的,所述步骤1.4包括如下步骤:
步骤1.4.1:使用所述步骤1.2构建的训练数据进行重构;
步骤1.4.2:对所述步骤1.4.1重构后的训练数据生成训练数据集;
步骤1.4.3:使用所述步骤1.4.2的训练数据集中的元素训练“协议预测”子模型。
根据本发明提供的一种基于多任务网络的快速协议栈识别系统,包括如下模块:
模块M1:构建多任务模型;
模块M2:根据所述多任务模型进行协议栈识别。
优选的,所述模块M1包括如下模块:
模块M1.1:读取数据流量记录,加载已有协议识别软件模块;
模块M1.2:基于所述已有协议识别软件模块构建训练数据;
模块M1.3:构建多任务模型,所述多任务模型包括“协议预测”子模型和“偏移量预测”子模型;
模块M1.4:基于所述模块M1.2的训练数据预训练“协议预测”子模型;
模块M1.5:训练所述多任务模型。
优选的,所述模块M2包括如下模块:
模块M2.1:加载所述模块M1.5训练完毕的多任务模型;
模块M2.2:读取需要进行协议栈识别的流量数据记录;
模块M2.3:构建“禁止规则集合”;
模块M2.4:根据“禁止规则集合”使用所述模块M2.1的多任务模型解析从初始偏移量为预定值开始,分层解析每一条流量数据的协议;
模块M2.5:构建“协议栈预测树”,通过所述“协议栈预测树”存储所述模块M2.4所生成的元素;
模块M2.6:基于“协议栈预测树”的先序遍历-回溯过程生成协议栈。
优选的,所述模块M1.3包括如下模块:
模块M1.3.1:构建“协议预测”子模型;
模块M1.3.2:构建“偏移量预测”子模型;
模块M1.3.3:对接所述“协议预测”子模型和“偏移量预测”子模型形成多任务模型:将“协议预测”子模型的输出层对接“偏移量预测”子模型的输入层,形成多任务模型。
优选的,所述模块M1.4包括如下模块:
模块M1.4.1:使用所述模块M1.2构建的训练数据进行重构;
模块M1.4.2:对所述模块M1.4.1重构后的训练数据生成训练数据集;
模块M1.4.3:使用所述模块M1.4.2的训练数据集中的元素训练“协议预测”子模型。
与现有技术相比,本发明具有如下的有益效果:
1、使用模型预测取代“穷举解析协议”的方法,提高协议的解析效率;
2、使用多任务模型,可以同时给出“当前层协议类型”以及“下一层协议开始位置”的预测,提高协议栈解析效率;
3、使用“禁止规则集合”引入人工先验知识,提高协议栈解析的合理性、准确率;
4、采用多个候选预测结构构建“协议栈预测树”,采用先序遍历、叶节点验证的方法筛选正确的协议栈预测方法,进一步提高协议栈预测的成功率。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明执行步骤示意图;
图2为协议识别与子协议位置预测模型的构建步骤示意图;
图3为多任务模型示意图;
图4为基于预测协议回溯的协议栈识别步骤示意图;
图5为协议栈预测树示意图;
图6为“协议栈预测数”实例图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
本发明实施例公开了一种基于多任务网络的快速协议栈识别方法及系统,如图1和图2所示,包括如下步骤:步骤1:构建多任务模型。步骤1即是协议识别与子协议位置预测模型的构建步骤。该步骤的输入为:流量数据、已有协议识别软件模块。该步骤的输出:协议识别与子协议位置预测模型。
步骤1包括如下步骤:步骤1.1:读取一定数量的数据流量记录,加载已有协议识别软件模块。
步骤1.2:基于已有协议识别软件模块构建训练数据。步骤1.2包括如下步骤:步骤1.2.1:设目前需要处理的流量数据为data,使用已有协议识别软件模块,穷举识别当前流量数据的最外层协议类型,记为P。解析P的内容,寻找下一层协议数据的开始位置,记为offset,如不存在下一层协议数据,则offset=0,使用data、P、offset构建三元组(data,P,offset),即一条训练数据,加入训练数据集合。步骤1.2.2:如offset为0,则结束该条流量数据记录的解析;如offset不为0,则重新设置data为“data的第offset位到末尾的内容”,跳转到步骤1.2.1。
如图2和图3所示,步骤1.3:构建多任务模型。构建具备“协议预测”和“偏移量预测”功能的多任务模型。多任务模型包括“协议预测”子模型和“偏移量预测”子模型。步骤1.3包括如下步骤:步骤1.3.1:构建“协议预测”子模型。“协议预测”子模型依次由宽度为n的输入层、卷积层、池化层、全连接层、宽度为m的softmax输出层组成(m为已有协议识别软件可识别协议的数量),“协议预测”子模型记为p_sub_model。步骤1.3.2:构建“偏移量预测”子模型。“偏移量预测”子模型依次由宽度为n+m的输入层、卷积层、池化层、全连接层、宽度为1的输出层(该层无激活函数)组成,“偏移量预测”子模型记为offset_sub_model。步骤1.3.3:对接“协议预测”子模型和“偏移量预测”子模型形成多任务模型:将“协议预测”子模型的输出层对接“偏移量预测”子模型的输入层,形成多任务模型。对接子模型形成多任务模型:将p_sub_model的输出层对接offset_sub_model的输入层,形成完成的多任务模型,记为multi_task_model。
步骤1.4:基于步骤1.2的训练数据预训练“协议预测”子模型。预训练“协议预测”子模型。步骤1.4包括如下步骤:步骤1.4.1:使用步骤1.2构建的训练数据进行重构。使用步骤1.2生成的数据构成新的训练数据:在每个三元组(data,P,offset)中,对data数据进行采样,生成n长向量,将P采用one-hot编码转为m长向量,构成重构后的训练数据(data_brief,p_onehot,offset)。步骤1.4.2:对步骤1.4.1重构后的训练数据生成训练数据集。对步骤1.4.1生成数据,生成训练数据集,数据集中的每个元素为(data_brief,p_onehot)。步骤1.4.3:使用步骤1.4.2的训练数据集中的元素训练“协议预测”子模型。使用步骤1.4.2的数据训练p_sub_model,损失函数为交叉熵损失函数。
步骤1.5:训练多任务模型。步骤1.5包括如下步骤:步骤1.5.1:基于步骤1.4.1生成数据,构建训练数据集,其中每个元素为(data_brief,offset)。步骤1.5.2:使用步骤1.5.1的数据训练multi_task_model,损失函数为均方差损失函数,将训练完毕的多任务模型记为mt_model。
如图1和图4所示,步骤2:根据多任务模型进行协议栈识别。步骤2即是基于预测协议回溯的协议栈识别步骤。该步骤的输入为:流量数据、协议识别与子协议位置预测模型。该步骤的输出为:识别出的协议栈。
步骤2包括如下步骤:步骤2.1:加载步骤1.5训练完毕的多任务模型。加载步骤1.5训练完毕的多任务模型mt_model,其中包含p_sub_model和offset_sub_model两个部分。
步骤2.4:根据“禁止规则集合”使用步骤2.1的多任务模型解析从初始偏移量为预定值开始,分层解析每一条流量数据的协议。使用mt_model解析从初始偏移量为0(即base_offset=0)开始,分层解析data的协议。步骤2.4包括如下步骤:步骤2.4.1:对data从base_offset到末尾采样长度为n的向量,记为data_brief。步骤2.4.2:将n输入p_sub_model,获取预测的m维类标向量,记为label_vec,将label_vec中概率最高且与上层协议构成的关系不属于“禁止规则集合”的三个协议,其下标号idx1、idx2、idx3。将idx1、idx2、idx3独热编码为长度为m的3个向量,概率由高到低排序,构成列表为[label_m1_vec,label_m2_vec,label_m3_vec],记为predict_p_list。步骤2.4.3:将predict_p_list中的每个元组与data_brief分别组合,分别输入offset_sub_model,得到预测的偏移量offset1、offset2、offset3。步骤2.4.4:构建当前层的候选预测元组序列[(label_m1_vec,offset_base+offset1,parent_vec),(label_m2_vec,offset_base+offset2,parent_vec),(label_m3_vec,offset_base+offset3,parent_vec)],记为level_predict_list,其中parent_vec为上一层的预测标签。步骤2.4.5:遍历level_predict_list中的每个元组,对于每个元组(label_vec,offset,parent_vec),如果其中的第二元offset不为0,则将base_offset设置为offset,跳转到步骤2.4.1继续执行。
如图4和图5所示,步骤2.5:构建“协议栈预测树”,通过“协议栈预测树”存储步骤2.4所生成的元素。构建“协议栈预测树”存储步骤2.4所生成的每一层level_predict_list中的元素,该树记为pred_tree。步骤2.5包括如下步骤:步骤2.5.1:构建一个空结点作为树的根结点,将树记为Tree_predict。步骤2.5.2:按照层次从外到内,依次排列各层的level_predict_list形成数组,记为level_predict_list_arr。步骤2.5.3:如果level_predict_list_arr为空,则结束步骤2.5,否则取出level_predict_list_arr的第一个元素,记为current_level_predict_list。步骤2.5.4:遍历current_level_predict_list中的每个元素,分别构建树的结点,根据元素中的parent_vec找到Tree_predict中找到对应的叶子结点,将新构建的树结点添加为该叶子结点的子结点,如果树仅有根结点,则直接添加为根结点的子结点。步骤2.5.5:排序新添加的结点,使其从左到右为预测概率递减;跳转到步骤2.5.3。
步骤2.6:基于“协议栈预测树”的先序遍历-回溯过程生成协议栈。基于pred_tree的先序遍历-回溯过程生成协议栈,以根结点为遍历起点。步骤2.6包括如下步骤:步骤2.6.1:先序遍历到叶节点node-leaf。步骤2.6.2:获取node-leaf中的预测元组(预测元组比如是协议标签和偏移量)。步骤2.6.3:使用“协议标签”对应的已有协议识别模块,对数据从“偏移量”位置开始识别。如果识别协议与预测协议相同,则从根结点到该叶节点路径上的所有预测的“协议标签”即构成“预测协议栈”,结束识别;如果识别结果与预测值不同,则根据先序遍历向上回溯,跳转到步骤2.6.1继续先序遍历。
一种基于多任务网络的快速协议栈识别方法,进一步优化举例,还包括如下步骤如图1和图2所示,步骤1还包括如下步骤:步骤1.1:读取2万条数据流量记录,加载已有协议识别软件模块,包括HTTP、XML、URLENCODING_XML、WMQ、CBUFFER、XML等。步骤1.2:基于已有协议识别软件模块构建训练数据,获得训练数据:(data1,WMQ,200)、(data2,CBUFFER,180)和(data3,XML,200)。
如图2和图3所示,步骤1.3:构建多任务模型,模型结构由“协议预测部分”和“偏移量预测部分”构成。“协议预测部分”,记为p_sub_model,具体构成:长度为800的输入层、卷积层、池化层、全连接层、长度为200(即该模型的训练数据支持200种协议)的向量标签输出层(softmax层)。“偏移量预测部分”,记为offset_sub_model,构成:长度为1000的输入层、卷积层、池化层、全连接层、输出层(该层无激活函数)。“协议预测部分”的输入为流量数据的采样(记为data_brief),输出为协议标签,“偏移量预测部分”的输入由“协议预测部分”的输出和data_brief组成,输出为offset。data_brief的具体采样方法为:从数据中采样500位,其中前200位为数据最靠前的500位,后三百位为数据每隔400位连续采样100位,共采样3份,不足部分用零补足。步骤1.4:模型的“协议预测部分”的训练。使用步骤1.2生成的训练数据集,取每个三元组(data,P,offset)中的(data,P)训练“协议预测部分”,如(data1,WMQ),(data2,CBUFFER),(data3,XML)。损失函数为交叉熵损失函数。
步骤1.5:训练多任务模型,其中“协议预测部分”使用步骤1.4训练完毕的参数初始化。使用步骤1.2生成的数据集训练多任务模型,训练数据取三元组(data,P,offset)中的(data,offset),如(data1,200),(data2,180),(data3,200)。损失函数为均方差损失函数。输出训练完毕的模型,记为mt_model。
如图1和图4所示,步骤2:基于预测协议回溯的协议栈识别步骤,执行子步骤如下:步骤2.1:加载步骤1.5训练完毕的模型mt_model,其中包含p_sub_model和offset_sub_model两个部分。
步骤2.2:读取需要进行协议栈识别的流量数据记录,记每一条流量数据记录为data。
步骤2.3:根据经验构建“禁止规则集合”,记为forbid_rules,其中每个元素为二元组(外层协议名,内层协议名)。forbid_rules中的每个元素表示一种不合理的外层-内层协议组合,如{(http,http),(http,XML),(WMQ,XML)}。
步骤2.4:使用mt_model解析从初始偏移量为0(即base_offset=0)开始,分层解析data的协议,子步骤如下:步骤2.4.1:对data从base_offset到末尾采样长度为800的向量,记为data_brief,采样方法见步骤1.3。
步骤2.4.2:将800长度向量输入p_sub_model,获取预测的200维类标向量,记为label_vec,将label_vec中概率最高且与上层协议构成的关系不属于“禁止规则集合”的三个协议,其下标号2、1、5,独热编码为长度为200的3个向量,概率由高到低排序,构成列表为[[001000…],[010000…],0000010…],…]记为predict_p_list。
步骤2.4.3:将predict_p_list中的每个元组与data_brief分别组合,分别输入offset_sub_model,得到预测的偏移量180、300、120。
步骤2.4.4:构建当前层的候选预测元组序列[(001000…,180,001100…),(010000…,300,001100…),(0000010…,120,001100…)],记为level_predict_list。
步骤2.4.5:便利level_predict_list中的每个元组,对于每个元组(label_vec,offset,parent_vec),如果其中的第二元offset不为0,则将base_offset设置为offset,跳转到步骤2.3.1继续执行。
如图4和图6所示,步骤2.5:使用树形结构存储步骤2.3所生成的level_predict_list中的元素。构建得到“协议栈预测树”,记为pred_tree。
步骤2.6:基于pred_tree的先序遍历-回溯过程生成协议栈,以根结点为遍历起点,第一次遍历到(JSON,0)结点,根据其父节点(WMQ,120)信息,对第120位使用JSON解码器解码失败。回溯遍历到下一叶子结点(CBUFFER,0),使用CBUFFER解码器对第120位开始的数据解码成功,从而得到协议栈为[WMQ,CUBFFER]。
“协议识别与子协议位置预测模型的构建步骤”基于流量和已有协议识别软件某块构建模型训练数据,构建识别模型,而后基于生成的数据训练生成识别模型;“基于预测协议回溯的协议栈识别步骤”基于生成的识别模型对位置流量进行协议预测,而后基于预测结果回溯生成协议栈。
本发明提出的一种基于多任务网络的快速协议栈识别方法对于每一层只包含单个子协议部分的数据类型(绝大部分网络数据都属于此类型),具有更高的解析效率。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置、模块、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置、模块、单元以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置、模块、单元可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置、模块、单元也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置、模块、单元视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

Claims (10)

1.一种基于多任务网络的快速协议栈识别方法,其特征在于,包括如下步骤:
步骤1:构建多任务模型;
步骤2:根据所述多任务模型进行协议栈识别。
2.根据权利要求1所述的一种基于多任务网络的快速协议栈识别方法,其特征在于,所述步骤1包括如下步骤:
步骤1.1:读取数据流量记录,加载已有协议识别软件模块;
步骤1.2:基于所述已有协议识别软件模块构建训练数据;
步骤1.3:构建多任务模型,所述多任务模型包括“协议预测”子模型和“偏移量预测”子模型;
步骤1.4:基于所述步骤1.2的训练数据预训练“协议预测”子模型;
步骤1.5:训练所述多任务模型。
3.根据权利要求2所述的一种基于多任务网络的快速协议栈识别方法,其特征在于,所述步骤2包括如下步骤:
步骤2.1:加载所述步骤1.5训练完毕的多任务模型;
步骤2.2:读取需要进行协议栈识别的流量数据记录;
步骤2.3:构建“禁止规则集合”;
步骤2.4:根据“禁止规则集合”使用所述步骤2.1的多任务模型解析从初始偏移量为预定值开始,分层解析每一条流量数据的协议;
步骤2.5:构建“协议栈预测树”,通过所述“协议栈预测树”存储所述步骤2.4所生成的元素;
步骤2.6:基于“协议栈预测树”的先序遍历-回溯过程生成协议栈。
4.根据权利要求2所述的一种基于多任务网络的快速协议栈识别方法,其特征在于,所述步骤1.3包括如下步骤:
步骤1.3.1:构建“协议预测”子模型;
步骤1.3.2:构建“偏移量预测”子模型;
步骤1.3.3:对接所述“协议预测”子模型和“偏移量预测”子模型形成多任务模型:将“协议预测”子模型的输出层对接“偏移量预测”子模型的输入层,形成多任务模型。
5.根据权利要求2所述的一种基于多任务网络的快速协议栈识别方法,其特征在于,所述步骤1.4包括如下步骤:
步骤1.4.1:使用所述步骤1.2构建的训练数据进行重构;
步骤1.4.2:对所述步骤1.4.1重构后的训练数据生成训练数据集;
步骤1.4.3:使用所述步骤1.4.2的训练数据集中的元素训练“协议预测”子模型。
6.一种基于多任务网络的快速协议栈识别系统,其特征在于,应用权利要求1-5任一所述的一种基于多任务网络的快速协议栈识别方法,包括如下模块:
模块M1:构建多任务模型;
模块M2:根据所述多任务模型进行协议栈识别。
7.根据权利要求6所述的一种基于多任务网络的快速协议栈识别系统,其特征在于,所述模块M1包括如下模块:
模块M1.1:读取数据流量记录,加载已有协议识别软件模块;
模块M1.2:基于所述已有协议识别软件模块构建训练数据;
模块M1.3:构建多任务模型,所述多任务模型包括“协议预测”子模型和“偏移量预测”子模型;
模块M1.4:基于所述模块M1.2的训练数据预训练“协议预测”子模型;
模块M1.5:训练所述多任务模型。
8.根据权利要求7所述的一种基于多任务网络的快速协议栈识别系统,其特征在于,所述模块M2包括如下模块:
模块M2.1:加载所述模块M1.5训练完毕的多任务模型;
模块M2.2:读取需要进行协议栈识别的流量数据记录;
模块M2.3:构建“禁止规则集合”;
模块M2.4:根据“禁止规则集合”使用所述模块M2.1的多任务模型解析从初始偏移量为预定值开始,分层解析每一条流量数据的协议;
模块M2.5:构建“协议栈预测树”,通过所述“协议栈预测树”存储所述模块M2.4所生成的元素;
模块M2.6:基于“协议栈预测树”的先序遍历-回溯过程生成协议栈。
9.根据权利要求7所述的一种基于多任务网络的快速协议栈识别系统,其特征在于,所述模块M1.3包括如下模块:
模块M1.3.1:构建“协议预测”子模型;
模块M1.3.2:构建“偏移量预测”子模型;
模块M1.3.3:对接所述“协议预测”子模型和“偏移量预测”子模型形成多任务模型:将“协议预测”子模型的输出层对接“偏移量预测”子模型的输入层,形成多任务模型。
10.根据权利要求7所述的一种基于多任务网络的快速协议栈识别系统,其特征在于,所述模块M1.4包括如下模块:
模块M1.4.1:使用所述模块M1.2构建的训练数据进行重构;
模块M1.4.2:对所述模块M1.4.1重构后的训练数据生成训练数据集;
模块M1.4.3:使用所述模块M1.4.2的训练数据集中的元素训练“协议预测”子模型。
CN202110621560.9A 2021-06-03 2021-06-03 基于多任务网络的快速协议栈识别方法及系统 Active CN113364647B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110621560.9A CN113364647B (zh) 2021-06-03 2021-06-03 基于多任务网络的快速协议栈识别方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110621560.9A CN113364647B (zh) 2021-06-03 2021-06-03 基于多任务网络的快速协议栈识别方法及系统

Publications (2)

Publication Number Publication Date
CN113364647A true CN113364647A (zh) 2021-09-07
CN113364647B CN113364647B (zh) 2022-10-11

Family

ID=77532097

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110621560.9A Active CN113364647B (zh) 2021-06-03 2021-06-03 基于多任务网络的快速协议栈识别方法及系统

Country Status (1)

Country Link
CN (1) CN113364647B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107682216A (zh) * 2017-09-01 2018-02-09 南京南瑞集团公司 一种基于深度学习的网络流量协议识别方法
CN108234452A (zh) * 2017-12-12 2018-06-29 上海天旦网络科技发展有限公司 一种网络数据包多层协议识别的系统和方法
CN112751845A (zh) * 2020-12-28 2021-05-04 北京恒光信息技术股份有限公司 网络协议解析方法、系统及装置
CN112804119A (zh) * 2021-01-05 2021-05-14 南京航空航天大学 一种基于卷积神经网络的mac协议识别方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107682216A (zh) * 2017-09-01 2018-02-09 南京南瑞集团公司 一种基于深度学习的网络流量协议识别方法
CN108234452A (zh) * 2017-12-12 2018-06-29 上海天旦网络科技发展有限公司 一种网络数据包多层协议识别的系统和方法
CN112751845A (zh) * 2020-12-28 2021-05-04 北京恒光信息技术股份有限公司 网络协议解析方法、系统及装置
CN112804119A (zh) * 2021-01-05 2021-05-14 南京航空航天大学 一种基于卷积神经网络的mac协议识别方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王孝龙等: "一种支持异构协议解析的可配置解析器设计", 《计算机应用研究》 *

Also Published As

Publication number Publication date
CN113364647B (zh) 2022-10-11

Similar Documents

Publication Publication Date Title
US10380236B1 (en) Machine learning system for annotating unstructured text
CN109344391B (zh) 基于神经网络的多特征融合中文新闻文本摘要生成方法
Zhang et al. Multi-label output codes using canonical correlation analysis
CN111597209B (zh) 一种数据库物化视图构建系统、方法以及系统创建方法
AU2020244577B2 (en) Slot filling with contextual information
US20200175232A1 (en) Alignment of video and textual sequences for metadata analysis
CN114169330A (zh) 融合时序卷积与Transformer编码器的中文命名实体识别方法
CN113064586B (zh) 一种基于抽象语法树增广图模型的代码补全方法
CN110245227B (zh) 文本分类的融合分类器的训练方法及设备
WO2022261570A1 (en) Cross-attention system and method for fast video-text retrieval task with image clip
CN115499312A (zh) 基于fpga后端p4多模态智能网卡的整合配置方法
CN116955604A (zh) 一种日志检测模型的训练方法、检测方法、装置
CN114048289A (zh) 语言模型训练方法、文案生成方法以及相关设备
CN115291854A (zh) 代码补全方法、装置及设备
CN113364647B (zh) 基于多任务网络的快速协议栈识别方法及系统
Ho et al. Robust inference of memory structure for efficient quantum modeling of stochastic processes
CN113254641B (zh) 一种情报数据融合方法与装置
CN113569061A (zh) 一种提高知识图谱补全精度的方法与系统
CN111553152B (zh) 问题生成方法和装置及问题-文本对的生成方法和装置
CN116976640A (zh) 自动化业务生成方法、装置、计算机设备及存储介质
Saraswathi et al. A LSTM based Deep Learning Model for Text Summarization
CN112148879A (zh) 一种自动给代码打数据结构标签的计算机可读存储介质
CN115114930A (zh) 一种基于序列到森林的非连续实体识别方法
CN114692596A (zh) 基于深度学习算法的债券信息解析方法、装置及电子设备
CN110795134B (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