一种网络数据的解析方法及路由器及装置与流程

文档序号:11234743阅读:547来源:国知局
一种网络数据的解析方法及路由器及装置与流程

本发明属于通信技术领域,特别涉及网络数据的解析方法及路由器。



背景技术:

随着互联网的发展和计算机的普及,网络用户的数量增长迅速,网络行为逐渐成人类行为中的最重要的社会现象之一。深入了解和分析网络用户的行为,给用户带来很大的便利。

数据包种类繁多,不同种类的数据包的数据存储规律也不尽相同。然而用户网络数据包的种类繁多,获取到的数据包的数据都是以二进制形式存储,存储规律繁多,很难做到精确的数据包的数据解析和提取。在对大量用户数据包信息处理时,如果能够进行批量处理,快速获取用户的网络行为精准数据,并进行用户行为数据分析,将产生巨大的商业价值。

因此,如何对数据包进行进行快速解析,成为亟待解决的问题。



技术实现要素:

本发明提供的技术方案如下:

本发明提供一种一种网络数据的解析方法,其特征在于,包括以下步骤:

s1、将网络数据中的数据链路层信息保留终端mac地址信息,并将所述网络数据重新封装为待解析的网络数据;

s2、根据一预设的数据采集机制,持续采集所述待解析的网络数据,存储至待解析的网络数据的数据池中,当所述数据池的数据量大于第一预设阀值时,或者所述采集时间大于第二预设阀值时,停止采集;

s3、将所述待解析的网络数据的一字段值标识为待解析的网络数据的包长度,并根据所述包长度,获取所述待解析的网络数据的一预设位置字段的数值,若所述数值符合标准网络数据协议结构中的同一位置的字段值,则判断所述待解析的网络数据字段值为所述包长度,并对所述待解析的网络数据进行层层解析;

s4,否则,重复执行步骤s3。

优选地,步骤s1还包括:

在所述待解析的网络数据的包头添加一两个字节的字段,该字段的值用于设置所述待解析的网络数据的包长度值。

优选的,步骤s1还包括:

若所述网络数据的中应用层数据信息的数据长度大于第一预设值时,则所述待解析的网络数据中包含的应用层数据信息的数据长度对应为该预设值,否则所述待解析的网络数据中包含的应用层数据信息的数据长度保持不变。

优选地,步骤s2具体包括:

根据所述待解析的网络数据包头的两个字节的字段值,获取所述包长度,并统计所有采集到的待解析的网络数据包的总包长度;

当所述总包长度大于第二预设值时,停止数据采集,并在所述待解析的网络数据包的包头设置两个字节的字段,该字段值表示所收集的待解析的网络数据包的总包长度;

当停止时间大于第三预设值后,继续进行采集,并将收集的待解析的网络数据包,存储至待解析的网络数据的数据池中。

优选地,步骤s2具体还包括:

统计所有收集的待解析的网络数据包的总包长度,获取所述待解析的网络数据的数据池的数据量,当所述数据池的数据量大于第一预设阀值时,或者所述采集时间大于第二预设阀值时,停止采集。

本发明提供了一种路由器,包括:

数据封装模块,用于将网络数据中的数据链路层信息保留终端mac地址信息,并将所述网络数据重新封装为待解析的网络数据;

数据收集模块,用于根据一预设的数据采集机制,持续采集所述待解析的网络数据,存储至待解析的网络数据的数据池中,当所述数据池的数据量大于第一预设阀值时,或者所述采集时间大于第二预设阀值时,停止采集。

优选地,所述数据封装模块,还用于在所述待解析的网络数据的包头添加一两个字节的字段,该字段的值用于设置所述待解析的网络数据的包长度值。

优选地,所述数据收集模块具体包括:

统计单元,用于根据所述待解析的网络数据包头的两个字节的字段值,获取所述包长度,并统计所有采集到的待解析的网络数据包的总包长度;

判断单元,用于当所述总包长度大于第二预设值时,停止数据采集,并在所述待解析的网络数据包的包头设置两个字节的字段,该字段值表示所收集的待解析的网络数据包的总包长度;

所述判断单元,还用于当停止时间大于第三预设值后,继续进行采集,并将收集的待解析的网络数据包,存储至待解析的网络数据的数据池中。

优选地,所述统计单元,还用于统计所有收集的待解析的网络数据包的总包长度,获取所述待解析的网络数据的数据池的数据量;

所述判断单元,还用于当所述数据池的数据量大于第一预设阀值时,或者所述采集时间大于第二预设阀值时,停止采集。

本发明还提供了一种网络数据解析装置,包括:

路由器,用于将网络数据中的数据链路层信息保留终端mac地址信息,并将所述网络数据重新封装为待解析的网络数据,根据一预设的数据采集机制,持续采集所述待解析的网络数据,存储至待解析的网络数据的数据池中,当所述数据池的数据量大于第一预设阀值时,或者所述采集时间大于第二预设阀值时,停止采集;

服务端,用于将所述待解析的网络数据的一字段值标识为待解析的网络数据的包长度,并根据所述包长度,获取所述待解析的网络数据的一预设位置字段的数值,若所述数值符合标准网络数据协议结构中的同一位置的字段值,则判断所述待解析的网络数据字段值为所述包长度,并对所述待解析的网络数据进行层层解析。

与现有技术相比,本发明一种网络数据的解析方法及装置及路由器,具有以下有益效果:

1)、通过对所述网络数据重新进行封装,去掉不需要的数据链路层信息,减少待解析的网络数据的包长度,增大了收集待解析的网络数据的容量,减少了数据解析对路由器性能的影响,提高了网络数据的解析速度。

2)、通过采用数据采集停顿时间的机制,也就是说,采集网络数据超过一预设值后停止收集,然后经过一预设时间后继续采集网络数据,所用采集的网络数据达到一定数据后,停止数据采集,这样每隔一段时间或积累达到一定数量的数据包,形成数据包文件发送到服务器端来进行解析,减小数据收集对路由器性能的影响,提高了网络数据的解析速度。

3)、根据定位所述待解析的网络数据的起始位置,并获取待解析的网络数据的包长度,进而对所述待解析的网络数据进行层层解析,获取待解析的网络数据的数据链路层消息、传输层消息以及网络层信息,进而可以获取网络数据中的mac地址信息、ip地址信息以及url信息等,并根据这些信息进行分析,用户根据这些信息加以利用,给用户带来很大的方便。

附图说明

下面将以明确易懂的方式,结合附图说明优选实施方式,对一种网络数据的解析方法及装置及路由器的上述特性、技术特征、优点及其实现方式予以进一步说明。

图1是本发明一种网络数据的解析方法的流程示意图;

图2是本发明一具体实施例的网络数据的结构图;

图3是本发明一种路由器的组成结构示意图;

图4是本发明一种网络数据解析装置的组成结构示意图。

具体实施方式

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。

为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。

如图1所示,根据本发明的一个实施例,一种网络数据的解析方法,包括以下步骤:

s1、将网络数据中的数据链路层信息保留终端mac地址信息,并将所述网络数据重新封装为待解析的网络数据;

s2、根据一预设的数据采集机制,持续采集所述待解析的网络数据,存储至待解析的网络数据的数据池中,当所述数据池的数据量大于第一预设阀值时,或者所述采集时间大于第二预设阀值时,停止采集;

s3、将所述待解析的网络数据的一字段值标识为待解析的网络数据的包长度,并根据所述包长度,获取所述待解析的网络数据的一预设位置字段的数值,若所述数值符合标准网络数据协议结构中的同一位置的字段值,则判断所述待解析的网络数据字段值为所述包长度,并对所述待解析的网络数据进行层层解析;

s4,否则,重复执行步骤s3。

具体实施过程中,路由器获取到上行网络数据后,需要对网络数据进行数据链路层、网络层和传输层的封装。在本发明的技术方案中,在路由器中有两条数据传输路径,一条数据传输路径是对网络数据进行完整封装完成后,按照路由器的路径协议,将该网络数据转发出去,另外一条数据传输路径是对网络数据进行采集和解析所述网络数据,进而对所述网络数据进行分析。具体地,在对网络数据进行数据链路层信息封装时,对数据链路层信息来说,我们需要保留终端的mac地址信息,并将所述网络数据包重新进行封装为待解析的网络数据。因为在实际网络数据行为分析的过程中,数据链路层的其他数据信息基本上是我们所不需要的,所以不用将所有的数据链路层信息封装进网络数据包中。在所述网络数据的具体封装过程中,路由器在对接收的网络数据包进行数据链路层和传输层的封装前,为了完成对网络数据的转发,需要将数据链路层信息中的源mac地址信息已经更换为路由器的mac地址信息,因此在对所述网络数据封装为待解析的网络数据时,根据路由器中存储的mac地址表,获取所述网络数据包的对应的终端mac地址信息,并将所述网络数据中的数据链路层信息更换为终端mac地址信息,封装为待解析的网络数据。在所述待解析的网络数据的包头添加一两个字节的字段,该字段的值用于设置所述待解析的网络数据的包长度值,用于表示所述待解析的网络数据的包长度。

通过该技术方案,网络数据包中的数据链路层信息,对网络数据的分析和用户行为分析来说,数据链路层信息的终端mac地址信息使用的最多,而数据链路层的其他数据信息是我们所不需要的,因此在网络数据解析的过程中,对所述网络数据包重新进行封装,去掉不需要的数据链路层信息,减少待解析的网络数据的包长度,增大了收集待解析的网络数据的容量,减少了数据解析对路由器性能的影响,提高了网络数据的解析速度。

本发明的一具体实施例,当所述网络数据封装为待解析的网络数据时,若所述网络数据的中应用层数据信息的数据长度大于第一预设值时,则在封装过程中,所述待解析的网络数据中包含的应用层数据信息的数据长度对应为该预设值,否则所述待解析的网络数据中包含的应用层数据信息的数据长度保持不变。比如,该第一预设值设置为512字节,在所述网络数据包封装为待解析的网络数据时,若所述网络数据中应用层数据信息的数据长度大于512字节,则在数据封装过程中,所述应用层数据信息的数据长度保留512字节,如果所述网络数据中应用层数据信息的数据长度小于或者等于512字节时,保留原有的应用层数据信息的数据长度。根据该技术方案,如果网络数据中的应用层数据信息的数据长度比较大,而应用层的数据信息对分析网络数据的行为的作用不大,因此需要截取部分的应用层数据信息封装进待解析的网络数据中,减少待解析的网络数据的大小,提高路由器的性能,有利于路由器收集所述待解析的网络数据。

路由器将所述网络数据重新封装为待解析的网络数据后,根据一预设的数据采集机制,持续采集所述待解析的网络数据,存储至待解析的网络数据的数据池中,当所述数据池的数据量大于第一预设阀值时,或者所述采集时间大于第二预设阀值时,停止采集。具体地,在每个待解析的网络数据的包头设置有两个字节的字段,该字段用于表示该待解析的网络数据的包长度。路由器采集待解析的网络数据,每采集到一个待解析的网络数据,根据该待解析的网络数据包头的两个字节的字段值,获取该待解析的网络数据的包长度,统计所有采集到的待解析的网络数据包的总包长度,当统计到所采集到的待解析的网络数据包的总包长度大于第二预设值时,停止数据采集,并在该待解析的网络数据包的包头设置两个字节的字段,该字段值表示所收集的待解析的网络数据包的包长度。当停止时间大于第三预设值后,继续进行待解析的网络数据采集,重复进行上述步骤进行数据的收集,将收集的待解析的网络数据包,存储至待解析的网络数据的数据池中。路由器根据所收集待解析的网络数据包的包头的两个字节的字段值,获取该待解析的网络数据包的包长度,并统计所有收集的待解析的网络数据包的包长度,获取所述待解析的网络数据的数据池的数据量。当所述数据池的数据量大于第一预设阀值时,或者所述采集时间大于第二预设阀值时,停止采集。

根据该技术方案,采用数据采集停顿时间的机制,也就是说,采集网络数据超过一预设值后停止收集,然后经过一预设时间后继续采集网络数据,所用采集的网络数据达到一定数据后,停止数据采集,这样每隔一段时间或积累达到一定数量的数据包,形成数据包文件发送到服务器端来进行解析,减小数据收集对路由器性能的影响,提高了网络数据的解析速度。

服务端获取路由器发送的所述待解析的网络数据,并对待解析的网络数据进行解析。由于在网络数据的采集过程中,所述待解析的网络数据中包含的数据链路层信息的只保留了终端mac地址信息,因此所述待解析的网络数据中的各字段位置和数据包长度,和标准协议的网络数据包结构不一致了,也就是说待解析的网络数据中的表示数据链路层信息、传输层信息和网络层信息的各字段的位置,与标准协议的各字段的位置不一致了,不能按照标准协议的结构对所述待解析的网络数据进行解析,因此需要重新定位待解析的网络数据的包长度,获取各字段的位置,对所述网络数据进行解析。

具体地,服务端获取所述待解析的网络数据,将所述待解析的网络数据的一字段值,标识为待解析的网络数据的包长度,根据该字段值获取数据包的包长度,根据所述包长度,获取所述待解析的网络数据中的一预设位置字段的数值,若所获取的数值符合网络数据的标准协议结构中的同一字段值,则判断待解析的网络数据的起始字段值为该待解析的网络数据的包长度,进而获取所述待解析的网络数据的包长度,根据所述包长度,根据网络数据的标准协议,比如数据链路层协议、传输层协议以及网络层协议,进而获取待解析的网络数据中的各字段值,对该网络数据进行层层解析,进而获取网络数据中的mac地址信息、ip地址信息以及url信息等,并根据这些信息进行分析。若所获取的数值不符合网络数据的标准协议结构中的同一字段值,然后重新判定待解析的网络数据的起始位置,即重新所述待解析的网络数据的包长度,重复上述步骤,,比如,判定所述待解析的网络数据的下一个字节为所述起始位置,直到找到所述待解析的网络数据的起始位置,获取待解析的网络数据的包长度,并对待解析的网络数据的包长度进行层层解析。

本发明的一具体实施例,在数据收集过程中,所述待解析的网络数据的数据链路层信息的保留终端mac地址信息,但是网络数据包中的网络信息没有改变,因此利用网络层协议的标准数据结构的特殊字段值,比如version(版本)字段和protocol(协议)字段,version指ip协议的版本,该字段值的十六进制值为4,表示为ipv4,protocol字段是指数据报携带的数据是何协议,该字段值对应的十六进制是6,代表协议为tcp协议。本实施例利用这两个字段值来确定所述待解析的网络数据的包长度。假设将所述待解析的网络数据的前两个字节作为待解析的网络数据的起始位置,获取所述两个字节的字段值,该字段值用以表示所述待解析的网络数据的包长度。根据所述待解析的网络数据的数据结构,获取所述待解析的网络数据中的version字段值和protocol字段值,若这两个字段的数值和网络数据的标准协议结构中的这两个字段值一致,表明所述待解析的网络数据起始的两个字节,用来标定待解析的网络数据的真实长度的值,根据所述数据的包长度,按照网络数据的标准协议结构,进而获取所述待解析的网络数据的各字段值,进而对所述待解析的网络数据进行层层解析,比如,获取数据链路层消息、传输层消息以及网络层信息,进而可以获取网络数据中的mac地址信息、ip地址信息以及url信息等,并根据这些信息进行分析。若所述version字段值和protocol字段的数值和网络数据的标准协议结构中的这两个字段值不一致,则表明所述待解析的网络数据起始的两个字节,不能用来标定待解析的网络数据的真实长度的值,还要继续继续定位待解析的网络数据的起始位置,获取待解析的网络数据的包长度,依次获取待解析的网络数据的后面两个字节的字段值,重复上述步骤,直到获取所述待解析的网络数据的包长度,然后对待解析的网络数据进行层层解析。

根据该技术方案,定位所述待解析的网络数据的起始位置,并获取待解析的网络数据的包长度,进而对所述待解析的网络数据进行层层解析,获取待解析的网络数据的数据链路层消息、传输层消息以及网络层信息,进而可以获取网络数据中的mac地址信息、ip地址信息以及url信息等,并根据这些信息进行分析,用户根据这些信息加以利用,给用户带来很大的方便。

本发明的一具体实施例,对所述待解析的网络数据的包头协议进行解析的实施例。所述待解析的网络数据是以文件形式进行存储,将所述网络数据包通过解压解密转换成数据包数据集,所述数据包数据集是以二进制形式进行存储的。如图2所示待解析的网络数据的数据结构图,待解析的网络数据的前4个字节,用以表示所述解析的网络数据的数据长度,如表1中的packet内容中所示。所述待解析的网络数据的数据data是报文内容,其中报文内容的协议头是包含各种协议头信息,比如,以太网头部信息、ip头部信息以及tcp头部信息,这些头部信息都是按照一定编码格式进行存储的。将所述文件通过解压解密转换成真正的数据包数据集cathpkt文件,然后对数据包数据集cathpkt文件的进行处理,读取数据包数据集的前4个字节,将二进制数据转换为时间数据作为数据包的长度信息l,从cathpkt文件中读写l-4个字节的数据即为packet内容的数据。然后首先获取packet数据的前14个字节的数据,通过upack()函数,按照给定格式解析这14个字节的字节流string数据,并返回解析出来的字节数组。获取前6个字节和中间6字节,采用ord()函数对字节流数据进行处理,转换成对应的ascii值,然后组合成对应的用户mac地址信息和服务器mac地址信息。具体代码实现过程如下所示:

defeth_addr(a):

b="%.2x:%.2x:%.2x:%.2x:%.2x:%.2x"%(ord(a[0]),ord(a[1]),ord(a[2]),ord(a[3]),ord(a[4]),ord(a[5]))

returnb;

通过使用上述同样的设计方案,对待解析的网络数据的ip协议头部信息进行解析,获取待解析的网络数据中的用户ip信息和服务器ip信息。

获取数据集cathpkt文件中剩余数据包信息进行解析,重复上述步骤,循环处理数据集cathpkt文件,直到所有待解析的网络数据解析完成。

本发明的另一具体实施例,对所述待解析的网络数据的数据内容进行解析的实施例。网络数据的包头协议的头长度都有其对应的规律,获取数据包头协议的长度hl,整个网络数据的长度信息也存在于网络数据的包头协议部分,网络数据的总长度为pl,则网络数据中的数据data长度为dl=pl-hl。从cathpkt数据文件中读取到每个网络数据的数据data二进制的数据信息,对数据data二进制的数据信息进行解析。通过对basehttpserver中的basehttprequesthandler功能扩充,解析数据data的二进制数据信息,并存储在一个实例属性集合中。根据网络数据的类型不同,采取不同的数据data的信息处理方式。比如,从cathpkt文件中获取一个网络数据的数据data信息,然后对数据进行解析,存储到实例属性集合中。对实力属性集合的upper项提取,根据upper项的值对网络数据的类型进行分类,类型有get、post、head、put、delete、options、trace和connect。以post数据为例,即

request.command.upper=’post’;

则网络数据采用post数据包的data数据信息处理方式。post数据包的实例属性结合中除去upper外,其他内容以字典结构的形式存储url、user-agent、cookie、refere和date等有效信息。通过对该字典结构信息的键值检索,即可获取所有post数据的内容。检索出属性实例集合中所有post数据包的url、user-agent、cookie、refere和date,获取数据信息中包含的用户行为数据。

如图3所示,根据本发明的一个实施例,一种路由器,包括:

数据封装模块30,用于将网络数据中的数据链路层信息保留终端mac地址信息,并将所述网络数据重新封装为待解析的网络数据;

数据收集模块31,用于根据一预设的数据采集机制,持续采集所述待解析的网络数据,存储至待解析的网络数据的数据池中,当所述数据池的数据量大于第一预设阀值时,或者所述采集时间大于第二预设阀值时,停止采集。

优选地,所述数据封装模块30,还用于在所述待解析的网络数据的包头添加一两个字节的字段,该字段的值用于设置所述待解析的网络数据的包长度值。

优选地,所述数据收集模块具体包括:

统计单元,用于根据所述待解析的网络数据包头的两个字节的字段值,获取所述包长度,并统计所有采集到的待解析的网络数据包的总包长度;

判断单元,用于当所述总包长度大于第二预设值时,停止数据采集,并在所述待解析的网络数据包的包头设置两个字节的字段,该字段值表示所收集的待解析的网络数据包的总包长度;

所述判断单元,还用于当停止时间大于第三预设值后,继续进行采集,并将收集的待解析的网络数据包,存储至待解析的网络数据的数据池中。

优选地,所述统计单元,还用于统计所有收集的待解析的网络数据包的总包长度,获取所述待解析的网络数据的数据池的数据量;

所述判断单元,还用于当所述数据池的数据量大于第一预设阀值时,或者所述采集时间大于第二预设阀值时,停止采集。

路由器获取到上行网络数据后,需要对网络数据进行数据链路层、网络层和传输层的封装。在本发明的技术方案中,在路由器中有两条数据传输路径,一条数据传输路径是对网络数据进行完整封装完成后,按照路由器的路径协议,将该网络数据转发出去,另外一条数据传输路径是对网络数据进行采集和解析所述网络数据,进而对所述网络数据进行分析。

具体地,在数据封装模块30中,在对网络数据进行数据链路层信息封装时,对数据链路层信息来说,我们需要保留终端的mac地址信息,并将所述网络数据重新进行封装为待解析的网络数据。因为在实际网络数据行为分析的过程中,数据链路层的其他数据信息基本上是我们所不需要的,所以不用将所有的数据链路层信息封装进网络数据包中。路由器在对接收的网络数据包进行数据链路层和传输层的封装前,为了完成对网络数据的转发,需要将数据链路层信息中的源mac地址信息已经更换为路由器的mac地址信息,因此在数据封装模块30中,对所述网络数据封装为待解析的网络数据时,根据路由器中存储的mac地址表,获取所述网络数据包的对应的终端mac地址信息,并将所述网络数据中的数据链路层信息更换为终端mac地址信息,封装为待解析的网络数据。并在所述待解析的网络数据的包头添加一两个字节的字段,该字段的值用于设置所述待解析的网络数据的包长度值,用于表示所述待解析的网络数据的包长度。

通过该技术方案,网络数据包中的数据链路层信息,对网络数据的分析和用户行为分析来说,数据链路层信息的终端mac地址信息使用的最多,而数据链路层的其他数据信息是我们所不需要的,因此在网络数据解析的过程中,对所述网络数据包重新进行封装,去掉不需要的数据链路层信息,减少待解析的网络数据的包长度,增大了收集待解析的网络数据的容量,减少了数据解析对路由器性能的影响,提高了网络数据的解析速度。

将所述网络数据重新封装为待解析的网络数据后,数据收集模块31根据一预设的数据采集机制,持续采集所述待解析的网络数据,存储至待解析的网络数据的数据池中,当所述数据池的数据量大于第一预设阀值时,或者所述采集时间大于第二预设阀值时,停止采集。

具体地,在数据收集模块31的统计单元中,每采集到一个待解析的网络数据,根据该待解析的网络数据包头的两个字节的字段值,获取该待解析的网络数据的包长度,统计所有采集到的待解析的网络数据包的总包长度。通过数据收集模块31的判断单元,当统计到所采集到的待解析的网络数据包的总包长度大于第二预设值时,停止数据采集,并在该待解析的网络数据包的包头设置两个字节的字段,该字段值表示所收集的待解析的网络数据包的包长度。在判断单元中,当停止时间大于第三预设值后,继续进行待解析的网络数据采集,重复进行上述步骤进行数据的收集,将收集的待解析的网络数据包,存储至待解析的网络数据的数据池中。然后通过统计单元,根据收集待解析的网络数据包的包头的两个字节的字段值,获取该待解析的网络数据包的包长度,并统计所有收集的待解析的网络数据包的包长度,获取所述待解析的网络数据的数据池的数据量。并通过判断单元,当所述数据池的数据量大于第一预设阀值时,或者所述采集时间大于第二预设阀值时,停止采集。

根据该技术方案,采用数据采集停顿时间的机制,也就是说,采集网络数据超过一预设值后停止收集,然后经过一预设时间后继续采集网络数据,所用采集的网络数据达到一定数据后,停止数据采集,这样每隔一段时间或积累达到一定数量的数据包,形成数据包文件发送到服务器端来进行解析,减小数据收集对路由器性能的影响,提高了网络数据的解析速度。

如图4所示,根据本发明的一个实施例,一种网络数据解析装置,包括:

路由器40,用于将网络数据中的数据链路层信息保留终端mac地址信息,并将所述网络数据重新封装为待解析的网络数据,根据一预设的数据采集机制,持续采集所述待解析的网络数据,存储至待解析的网络数据的数据池中,当所述数据池的数据量大于第一预设阀值时,或者所述采集时间大于第二预设阀值时,停止采集;

服务端41,用于将所述待解析的网络数据的一字段值标识为待解析的网络数据的包长度,并根据所述包长度,获取所述待解析的网络数据的一预设位置字段的数值,若所述数值符合标准网络数据协议结构中的同一位置的字段值,则判断所述待解析的网络数据字段值为所述包长度,并对所述待解析的网络数据进行层层解析。

本发明一种网络数据的解析方法及装置及路由器,减小数据收集对路由器性能的影响,提高了网络数据的解析速度,获取网络数据中的信息,并根据这些信息进行分析,用户根据这些信息加以利用,给用户带来很大的方便。

应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1