[发明专利]一种复杂电子信息系统网络协议数据捕获方法有效
申请号: | 201510665851.2 | 申请日: | 2015-10-15 |
公开(公告)号: | CN105337797B | 公开(公告)日: | 2018-12-11 |
发明(设计)人: | 杨京礼;魏长安;姜守达 | 申请(专利权)人: | 哈尔滨工业大学 |
主分类号: | H04L12/26 | 分类号: | H04L12/26 |
代理公司: | 哈尔滨市松花江专利商标事务所 23109 | 代理人: | 岳泉清 |
地址: | 150001 黑龙*** | 国省代码: | 黑龙江;23 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 复杂 电子 信息系统 网络 协议 数据 捕获 方法 | ||
1.一种复杂电子信息系统网络协议数据捕获方法,所述方法包括如下步骤:
步骤一、建立协议过滤模板;
步骤二、根据建立的协议过滤模板合成基于WinPcap识别的过滤条件;
步骤三、基于WinPcap的过滤条件,利用多线程模式进行网络协议数据捕获;并将捕获的网络协议数据缓存到协议过滤模板中所设置的缓冲区;
步骤四、在多线程模式下,将缓冲区的网络协议数据提取出来;
步骤五、将提取出来的网络协议数据进行协议匹配处理,确定与提取的网络协议数据匹配的通讯协议;
步骤六、按照确定的通讯协议的协议单元格式将网络协议数据进行显示;
所述步骤一中,建立协议过滤模板的方法为:以手动撰写XML文件的方式建立的;所述协议过滤模板的具体格式如下表:
所述XML文件为可扩展标记语言文件;
所述步骤二中根据建立的协议过滤模板合成基于WinPcap识别的过滤条件的具体步骤包括:
步骤二一、获取协议过滤模板的第一条记录;
步骤二二、读取获取的记录中的源IP地址,加入过滤条件;
步骤二三、读取源端口,用and连接步骤二二得到的过滤条件;
步骤二四、读取目标IP地址,用and连接步骤二三得到的过滤条件;
步骤二五、读取目标端口,用and连接步骤二四得到的过滤条件;
步骤二六、读取传输类型,用and连接步骤二五得到的过滤条件;
步骤二七、判断协议过滤模板中是否还有其它未获取的记录,判定结果为“是”,执行步骤二八;判定结果为“否”,则执行步骤二十;
步骤二八、用or连接步骤二六得到的过滤条件;
步骤二九、获取协议过滤模板的下一条记录,然后返回执行步骤二二;
步骤二十、输出最终过滤条件;
所述“and”操作符表示只有符合协议过滤模板中记录所有条件的网络协议数据能够被捕获;
所述“or”操作符表示满足任意一条协议过滤模板中记录的网络协议数据都将被捕获;
其特征在于,所述步骤三中利用多线程模式进行网络协议数据捕获的具体步骤包括:
步骤三一、使用pcap_next_ex函数进行网络协议数据捕获,若该函数返回值不大于0,继续执行网络协议数据捕获过程;如果该函数返回值大于0,转至步骤三二进行网络协议数据预处理;
所述网络协议数据是以网络协议数据包的形式进行传输的;
步骤三二、读取捕获的网络协议数据包内容,利用网络协议数据包中的proto结构解析其中的传输类型;利用网络协议数据包中的saddr和daddr结构分别解析其中的源IP地址和目标IP地址;
步骤三三、根据解析后的传输类型提取相应的帧头信息,从帧头信息中的sport和dport结构解析其中的源端口和目标端口,并根据帧头信息解析网络协议数据包长度;
步骤三四、根据步骤三二和步骤三三中解析出的传输类型、源IP地址、目标IP地址、源端口和目标端口合成关键词;
步骤三五、根据步骤三四合成的关键词在协议过滤模板中索引该关键词所对应的记录;
步骤三六、将捕获数据的内容拷贝到步骤三五中索引的该条记录的缓冲区,更新该条记录的已缓存数据长度和各数据包长度;
步骤三七、判断是否停止网络协议数据捕获过程,如果收到停止指令则转至结束,否则转至步骤三一继续进行网络协议数据捕获。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨工业大学,未经哈尔滨工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510665851.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种获取流量信息的方法及终端
- 下一篇:一种POE交换机测试装置及其检测方法