一种网络流量特征自动识别提取的方法及系统技术方案

技术编号:38157692 阅读:15 留言:0更新日期:2023-07-13 09:27
本发明专利技术提供一种网络流量特征自动识别提取的方法,包括:开始进程抓包,停止进程抓包,将捕捉的报文以pcap文件自动保存到指定目录;自动解压和读取pcap数据包单个或多个文件,以五元组构造数据作为字典键临时存放变量,构造子节点字典键值,写入到shelve容器持久化存储数据;读取shelve数据,按流量特征分类进行数据处理,对比判断分析,特征合并,提取特征;通过pandas技术形成数据矩阵,最终生成特征库CSV文件及日志文件。本发明专利技术的有益效果:能够实现进程抓包、停止抓包、自动识别流量分析特征提取以及自动统计特征的关键指标输出到CSV文件,提升了产品研发进度,减少人力成本,提高了工作效率。工作效率。工作效率。

【技术实现步骤摘要】
一种网络流量特征自动识别提取的方法及系统


[0001]本专利技术涉及识别提取方法
,尤其涉及一种网络流量特征自动识别提取的方法及系统。

技术介绍

[0002]随着互联网以及网络技术的快速发展,当前研发人员在开发网关产品时,智能限制访问站点功能需要用到流量特征库,通过人工从成千上万条数据包中采集数据分析网络流量特征并提取关键唯一特征输出到文本,增加了大量的人力成本时间,重复工作繁琐,效率非常低。因此需要一种方法,能够进程抓包后自动读取pcap报文文件数据并且采集流量会话数据包,构造数据模型格式存储,训练数据识别匹配度,自动流量分类分析并提取唯一的特征统计各类关键指标输出到特征库CSV文件。pcap文件是常用的数据报存储格式,可以理解为就是一种文件格式,只不过里面的数据是按照特定格式存储的,所以我们想要解析里面的数据,也必须按照一定的格式解析。CSV文件,即逗号分隔值文件(Comma

Separated Values),有时也称为字符分隔值,其文件以纯文本形式存储表格数据(数字和文本)。
[0003]目前现有的网络流量特征提取方法普遍存在的弊端:
[0004]1.缺失对应的网络应用流量特征库,网关产品家长智能限制功能无法识别流量特征限制,难以满足市场需求;
[0005]2.人工采集数据成本太高,而且人工采集容易导致数据出错;
[0006]3.通过人工流量特征分析,重复工作比较多,过于频繁,缺乏流量自动化分析特征提取,统计指标输出到文本文件。

技术实现思路
<br/>[0007]为解决现有技术中的问题,本专利技术提供一种网络流量特征自动识别提取的方法及系统,能够实现进程抓包、停止抓包,并读取pcap数据包单个或多个文件,能够自动识别流量分析特征提取以及自动统计特征的关键指标输出到CSV文件,能够支撑各类网关产品用于智能限制访问站点功能,从而提升产品研发进度,减少人力成本,提高了工作效率,解决了现有技术中缺失对应的网络应用流量特征库、人工采集数据成本太高易出错、人工流量特征分析效率低的问题。
[0008]本专利技术的一种网络流量特征自动识别提取的方法包括如下步骤:
[0009]步骤1:发送捕捉报文指令调用dumpcap指令构造命令行开始执行进程抓包,在捕捉数据包一定时间后发送终止进程抓包指令停止进程抓包,将捕捉的报文以pcap文件自动保存到指定目录;
[0010]步骤2:发送生成特征库文指令后自动解压和读取pcap数据包单个或多个文件,以五元组构造数据作为字典键临时存放变量,再进行数据模型训练,过滤掉非关键数据,同时构造子节点字典键值,写入到shelve容器持久化存储数据;
[0011]步骤3:读取shelve数据,按流量特征分类进行数据处理,调用通用模块处理载体
数据字节流按协议、端口、包长、载体数据16进制头部或尾部、http请求头部这些不同的维度分类进行对比判断分析,再进行特征合并后,使用正则表达式描述提取唯一的特征;
[0012]步骤4:根据流量分类好的数据,进行各项指标统计追加到子节点的sub键值列表,再进行循环迭代读取子节点的键值,通过pandas技术形成数据矩阵,最终生成特征库CSV文件及日志文件。
[0013]本专利技术作进一步改进,在所述步骤2中,还包括如下步骤,
[0014]步骤201:发送生成特征库文指令;
[0015]步骤202:自动解压捕捉的pcap数据包文件,读取完整会话的TCP或UDP数据包,计算TCP或UDP载体数据长度,构造源端和目的端的五元组存储到变量;
[0016]步骤203:过滤掉非IP包类型及没有完整的会话流量数据,读取载体原始数据;
[0017]步骤204:追加每条会话的包长、时间戳、会话特征存放到指定的五元组键的列表,构造五元组主节点数据模型,同时构造子节点字典键值,追加会话特征、时间戳、IP、端口、每条会话包长存放到子节点的对应键值列表,写入到shelve容器持久化存储数据。
[0018]本专利技术作进一步改进,在所述步骤3中,还包括如下步骤,
[0019]步骤301:通过shelve的open方法读取shelve容器的packet_datas数据;
[0020]步骤302:按流量特征分类进行数据处理;
[0021]步骤303:调用封装的get_sig方法,把会话载体数据进行网络字节特征对比分析;
[0022]步骤304:再进行特征合并,使用正则表达式描述提取唯一的特征。
[0023]本专利技术作进一步改进,在所述步骤1中,开始执行进程抓包前会初始化使用第三方库psutil的net_if_stats方法检查当前环境网卡是否已启用,把传入的参数应用服务进程名通过configparser库set方法把服务进程名写入到ini配置文件,同时传入的参数网卡设备名和服务进程名并调用dumpcap指令构造命令行执行进程抓包。
[0024]本专利技术作进一步改进,在所述步骤1中,调用tasklist命令或psutil库的Process方法实现终止进程抓包。
[0025]本专利技术作进一步改进,在所述步骤202中,引用第三方库dpkt的Reader方法解压捕捉的pcap文件数据包。
[0026]本专利技术作进一步改进,在所述步骤204中,数据包的大小、时间戳、会话特征、每个会话的包长及载体数据前缀为协议+源IP+源端口+目的IP+目的端口+数据包大小,后接载体数据采用binascii.b2a_hex转换成16进制构造五元组主节点数据模型。
[0027]本专利技术作进一步改进,在所述步骤301中,读取shelve容器的packet_datas数据的方法为,循环迭代读取主节点的size键值统计总共的包长大小,同时拆解主节点的键,子节点读取主节点对应的键,把主节点的数据包大小、IP、每条会话包长、端口等追加到子节点的键值。
[0028]本专利技术作进一步改进,在所述步骤4中,循环迭代读取子节点的键值包括所属协议、流量匹配度、流量包长、IP范围、端口范围和会话特征。
[0029]本专利技术还提供一种系统,用于上述的网络流量特征自动识别提取的方法,包括:
[0030]命令行指令接口管理模块,用于发送命令行指令,调用对应的接口子系统执行,并返回数据;
[0031]抓包管理子系统模块,用于进程抓包、终止进程抓包、查看网卡设备名、查看应用
服务进程名;用于在发送进程抓包指令时,将传入的参数应用服务进程名写进ini配置文件;
[0032]流量特征生成子系统模块,用于在用户发送流量特征生成指令后,系统自动解析ini配置文件读取服务进程名去查找pcap数据包文件读取TCP或UDP数据,通过数据过滤并经过数据模型训练,构造主节点和子节点字典键值写入到shelve持久化存储,然后读取shelve的packet_datas文件数据进行流量分类处理,调用通用模块处理数据包的载体字节流转换16进制进行多条特征从协议、端口、包长、载本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种网络流量特征自动识别提取的方法,其特征在于,包括如下步骤,步骤1:发送捕捉报文指令调用dumpcap指令构造命令行开始执行进程抓包,在捕捉数据包一定时间后发送终止进程抓包指令停止进程抓包,将捕捉的报文以pcap文件自动保存到指定目录;步骤2:发送生成特征库文指令后自动解压和读取pcap数据包单个或多个文件,以五元组构造数据作为字典键临时存放变量,再进行数据模型训练,过滤掉非关键数据,同时构造子节点字典键值,写入到shelve容器持久化存储数据;步骤3:读取shelve数据,按流量特征分类进行数据处理,调用通用模块处理载体数据字节流按协议、端口、包长、载体数据16进制头部或尾部、http请求头部这些不同的维度分类进行对比判断分析,再进行特征合并后,使用正则表达式描述提取唯一的特征;步骤4:根据流量分类好的数据,进行各项指标统计追加到子节点的sub键值列表,再进行循环迭代读取子节点的键值,通过pandas技术形成数据矩阵,最终生成特征库CSV文件及日志文件。2.如权利要求1所述的网络流量特征自动识别提取的方法,其特征在于,在所述步骤2中,还包括如下步骤,步骤201:发送生成特征库文指令;步骤202:自动解压捕捉的pcap数据包文件,读取完整会话的TCP或UDP数据包,计算TCP或UDP载体数据长度,构造源端和目的端的五元组存储到变量;步骤203:过滤掉非IP包类型及没有完整的会话流量数据,读取载体原始数据;步骤204:追加每条会话的包长、时间戳、会话特征存放到指定的五元组键的列表,构造五元组主节点数据模型,同时构造子节点字典键值,追加会话特征、时间戳、IP、端口、每条会话包长存放到子节点的对应键值列表,写入到shelve容器持久化存储数据。3.如权利要求2所述的网络流量特征自动识别提取的方法,其特征在于,在所述步骤3中,还包括如下步骤,步骤301:通过shelve的open方法读取shelve容器的packet_datas数据;步骤302:按流量特征分类进行数据处理;步骤303:调用封装的get_sig方法,把会话载体数据进行网络字节特征对比分析;步骤304:再进行特征合并,使用正则表达式描述提取唯一的特征。4.如权利要求3所述的网络流量特征自动识别提取的方法,其特征在于:在所述步骤1中,开始执行进程抓包前会初始化使用第三方库psutil的net_if_stats方法检查当前环境网卡是否已启用,把传入的参数应用服务进程名通过configparser库set方法把服务进程名写入到ini配置文件,同...

【专利技术属性】
技术研发人员:尹佳
申请(专利权)人:深圳市吉祥腾达科技有限公司
类型:发明
国别省市:

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

1