一种复杂电子信息系统网络协议数据捕获方法技术方案

技术编号:12892130 阅读:56 留言:0更新日期:2016-02-18 02:18
一种复杂电子信息网络协议数据捕获方法,涉及一种复杂电子信息网络协议数据捕获技术,目的是为了解决目前复杂电子信息系统调试及运行过程中系统内部传输信息难以直观监测的问题。本发明专利技术所述的数据捕获方法的捕获数据过程为建立协议过滤模板、启动数据过滤、捕获与缓存网络数据、数据提取、协议匹配处理、协议单元数据显示。本发明专利技术的有益效果为实现了对系统内部高速以太网数据协议单元级别捕获,实现了数据包从数据单元级别到协议单元级别的转变,解决了目前网络数据捕获工具仅能提供数据单元级别的捕获而影响系统监测效率的问题,适用于水面舰艇作战系统现场调试。

【技术实现步骤摘要】

本专利技术设及一种复杂电子信息网络协议数据捕获技术。
技术介绍
网络捕获技术是从网络中获取底层数据,通过分析运些数据达到对网络状态进行 监控的目的。在正常模式下,网卡每接收到一个到达的数据包就会检查该数据包的目的地 址。如果是本机地址和广播地址,则将接收数据包放入缓冲区,其他目的地址的数据包则直 接丢掉。因此,正常模式下主机仅处理W本机为目的的数据包。在混杂模式下,网卡对所有 接收到的数据都向操作系统进行上报,操作系统直接访问数据链路层捕获相关数据。运样 就可W捕获到流经网卡的所有数据。网络数据捕获必须利用网卡的混杂模式,获得经过本 网段的所有数据信息。 WinF*cap(WindowsPacketCap1:ure)是Windows平台下的一个免费、公共的网络访 问系统,基于Libpcap的基础上开发设计,其主要功能就是对网络数据包进行捕获。在捕获 数据包时,可对WinPcap进行系统模式设置或功能扩展,限制捕捉对象或过滤特定的数据 包,分析并读取数据包内部的基本信息,或者对网络的流量进行分析、网络入侵的检测、网 络安全的监测等。 在飞机航电系统和舰船作战系统等复杂电子信息系统内部,各单元之间的信息传 输W符合特定格式的协议包形式依靠高速W太网实现。虽然基于WinPcap的W太网数据捕 获方法已有大量应用,但是上述方法仅能实现数据单元级别的捕获,十分不利于系统使用 人员对内部传输信息的内容(通常为协议格式)进行监测,进而影响系统故障的识别和处 理。为实现对复杂电子信息系统内部单元之间交换信息的实时监测,在现有数据单元级别 的捕获的基础上实现协议单元级别的捕获更为重要,因此迫切需要一种基于针对于复杂电 子信息系统的网络数据捕获方法。
技术实现思路
本专利技术的目的是为了解决目前复杂电子信息系统调试及运行过程中系统内部传 输信息难W直观监测的问题,提出了一种复杂电子信息网络协议数据捕获方法。 本专利技术所述的一种复杂电子信息网络协议数据捕获方法的具体步骤为: 步骤一、建立协议过滤模板; 所述的协议过滤模版WXML文件手动撰写的方式建立的;所述协议过滤模版具体 格式如下表: 所述XML文件为可扩展标记语言文件; 步骤二、根据建立的协议过滤模板合成基于WinPcap识别的过滤条件; 所述协议过滤模版合成基于WinPcap识别的过滤条件的具体步骤包括: 步骤二一、获取协议过滤模版的第一条记录; 步骤二二、读取源IP地址,加入过滤条件; 步骤二=、读取源端口,用and连接过滤条件; 步骤二四、读取目标IP地址,用and连接过滤条件; 步骤二五、读取目标端口,用and连接过滤条件; 步骤二六、读取传输类型,用and连接过滤条件; 步骤二屯、判断协议过滤模版中是否还有其它未获取的记录?判定结果为"是", 执行步骤二八;判定结果为"否",则执行步骤二十; 步骤二八、用or连接过滤条件; 步骤二九、获取协议过滤模版下一条记录,然后返回执行步骤二二; 步骤二十、输出最终过滤条件; 所述"and"操作符表示只有符合协议过滤模版中记录所有条件的网络协议数据能 够被捕获; 所述"or"操作符表示满足任意一条协议过滤模版中记录的网络协议数据都将被 捕获;步骤=、基于Wi吐cap的过滤条件,利用多线程模式进行网络协议数据捕获;并将 捕获的网络协议数据缓存到协议过滤模版的缓冲区; 所述的利用多线程模式进行网络协议数据捕获的具体步骤包括: 步骤S-、使用pcap_next_ex函数进行网络协议数据捕获,若该函数返回值不大 于0,继续执行网络协议数据捕获过程;如果该函数返回值大于0,转至步骤=二进行网络 协议数据预处理; 所述网络协议数据W网络协议数据包的形式进行传输和储存的; 步骤S二、读取捕获的网络协议数据包内容,利用网络协议数据包中的proto结 构解析其中的传输类型;利用网络协议数据包中的sad化和dad化结构分别解析其中的源 IP地址和目标IP地址; 步骤==、根据解析后的传输类型提取相应的帖头信息,从帖头信息中的sport 和化OTt结构解析其中的源端口和目标端口,并根据帖头信息解析网络协议数据包长度; 步骤=四、根据步骤=二和步骤==中解析出的传输类型、源IP地址、目标IP地 址、源端口、目标端口和网络协议数据包长度信息合成关键词; 步骤=五、根据步骤=四合成的关键词在协议过滤模板中索引该关键词所对应的 记录; 步骤=六、将捕获网络协议数据的内容拷贝到步骤=五中索引的该条记录的缓冲 区,更新该条记录的已缓存网络协议数据长度和各网络协议数据包长度; 步骤=屯、判断是否停止网络协议数据捕获过程,如果收到停止指令则转至结束, 否则转至步骤步骤=一继续进行网络协议数据捕获;所述pcap_next_ex函数是由Wi吐cap提供的抓取网络协议数据的方法,pcap_next_ex函数的功能是从网卡或者数据包文件中读取网络协议数据内容; 步骤四、在多线程模式下,将缓冲区的网络协议数据提取出来; 所述的将缓存到缓冲区的网络协议数据提取出来的具体步骤包括: 步骤四一、从协议过滤模板中取出一条记录; 步骤四二、获取该条记录中各网络协议数据包长度数组的大小; 步骤四S、判断步骤四二中数组大小是否大于0,如果大于0,转到步骤四四;如果 数组大小不大于0,则该记录中无缓存网络协议数据,转到步骤四九; 步骤四四、取出该条记录中各网络协议数据包长度数组首个元素的值; 步骤四五、从该条记录的缓冲区中取出前L个字节的网络协议数据; 步骤四六、向协议匹配线程发送步骤四五中取出的L个字节的网络协议数据; 步骤四屯、将该条记录的缓冲区前L个字节的网络协议数据删除,并将缓冲区后 面的网络协议数据依次向前移动L个字节; 步骤四八、将该条记录的已缓存网络协议数据长度减去以并删除该条记录的各网 络协议数据包长度数组的首个元素,转到步骤四二; 步骤四九、判断协议过滤模板中还包含其它未取出的记录;判断结果为"是",则转 至步骤四一;判断结果为"否",则转至四十; 步骤四十、结束本次缓存网络协议数据提取流程; 所述L为正整数,并且L《500。 步骤五、将提取出来的网络协议数据进行协议匹配处理,确定与提取的网络协议 数据匹配的通讯协议; 所述将提取出来的网络协议数据进行协议匹配处理,确定与提取的网络协议数据 匹配的通讯协议的方法为: 利用提取出来的网络协议数据的特征与通讯协议队列中通讯协议的特征进行匹 配,确定与利用提取出来的网络协议数据相对应的通讯协议; 所述通讯协议的特征的描述方式为: 所述的将提取出来的网络协议数据进行协议匹配处理,确定与提取的网络协议数 据匹配的通讯协议的具体步骤包括:步骤五一、从通讯协议队列中取出一条通讯协议; 步骤五二、提取该条通讯协议第一个特征项的数据值及协议匹配线程所接收网络 协议数据的第一个元素值; 步骤五=、将提取的特征项的数据值与元素值进行比较,如果特征项的数据值与 元素值相等,转到步骤五四;如果特征项的数据值与元素值不相等,转到步骤五六; 步骤五四、判断当前特征项是否为该条通讯协议最后一个特征项,如果当前特征 项不是该条通讯协议最后一个特征项,转到步骤五五;如果当前特征项是该条通讯协议最 后一个特征项,转到步骤五屯; 步骤五本文档来自技高网
...

【技术保护点】
一种复杂电子信息系统网络协议数据捕获方法,其特征在于,所述方法包括如下步骤:步骤一、建立协议过滤模板;步骤二、根据建立的协议过滤模板合成基于WinPcap识别的过滤条件;步骤三、基于WinPcap的过滤条件,利用多线程模式进行网络协议数据捕获;并将捕获的网络协议数据缓存到协议过滤模版的缓冲区;步骤四、在多线程模式下,将缓冲区的网络协议数据提取出来;步骤五、将提取出来的网络协议数据进行协议匹配处理,确定与提取的网络协议数据匹配的通讯协议;步骤六、按照确定的通讯协议的协议单元格式将网络协议数据进行显示。

【技术特征摘要】

【专利技术属性】
技术研发人员:杨京礼魏长安姜守达
申请(专利权)人:哈尔滨工业大学
类型:发明
国别省市:黑龙江;23

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

1