一种基于OpenWRT系统的网络嗅探方法

文档序号:10515313阅读:1391来源:国知局
一种基于OpenWRT系统的网络嗅探方法
【专利摘要】本发明公开了一种基于OpenWRT系统的网络嗅探方法,具体步骤包括数据包抓取、数据包特征判断和数据包解析,软件启动后,先检查路由器本身的状态,获取其有线和无线网卡的信息,再根据网卡的状态,数据获取模块选择性的运行在不同网卡上,从而获取不同网卡的数据。本发明对提取到的数据包信息进行再次提取,自主实现基于OpenWRT路由器系统上网络数据包的获取和解析,根据OSI对于网络协议栈的规定和RFC对于协议格式的规定,将其中难以辨识的二进制数据以文本形式呈现,方便读者使用的同时也降低了软件入门门槛,更利于软件的推广和使用,利用Linux网卡的工作模式,获取不同途径的网络数据包,扩大了数据流量的来源途径。
【专利说明】
一种基于OpenWRT系统的网络嗅探方法
技术领域
[0001]本发明涉及通信技术领域,具体是一种基于OpenWRT系统的网络嗅探方法。
【背景技术】
[0002]现阶段,网络数据探嗅技术发展迅速,涌现出很多网络数据探嗅方案。典型的一种方案是使用以Wireshark为代表的嗅探工具,功能强大而全面,内容解析详细,以及适配多种协议的优势,占据了PC端的主要市场,然而使用以Wireshark为代表的嗅探工具,适用于PC平台,而不适用于路由器平台。
[0003]路由器端的网络嗅探技术方面,实现形式大多以完整呈现数据包原本信息的形式为主。目前的嗅探技术,由于网络数据包会采用二进制格式进行传输,即使将数据包内容呈现出来,不利与读者或者非专业认识阅读,因此对二进制内容的进一步提取尤为重要。

【发明内容】

[0004]本发明的目的在于提供一种数据来源广、信息解析全面的基于OpenWRT系统的网络嗅探方法,以解决上述【背景技术】中提出的问题。
[0005]为实现上述目的,本发明提供如下技术方案:
[0006]—种基于OpenWRT系统的网络嗅探方法,具体步骤如下:
[0007](I)数据包抓取:软件启动后,先检查路由器本身的状态,获取其有线和无线网卡的信息,再根据网卡的状态,数据获取模块选择性的运行在不同网卡上,从而获取不同网卡的数据;数据获取模块获取到一个数据包之后,判断沟通模块现在是否有空间存储获取的数据,若空间不足则丢弃数据包,若空间足够就把数据包写入沟通模块,从而为数据解析模块提供数据;
[0008](2)数据包特征判断:完成数据包获取后,数据解析模块先对获取到的数据包进行特征提取,从而区分数据包的类型;在软件的配置文件中设置有数据包的类型的配置项;
[0009](3)数据包解析:对于经过数据包特征判断阶段的数据包进行内容提取,根据请求评议RFC对不同协议格式的规定,按照格式要求解析其中的信息,将二进制数据转换成对应的字符串型数据,同时,对信息做重复性检验,以确保该信息的正确性。
[0010]作为本发明再进一步的方案:所述数据包的类型包括无线数据包、有线数据包,HTTTP数据包和FTP数据包。
[0011]与现有技术相比,本发明的有益效果是:
[0012]本发明对提取到的数据包信息进行再次提取,自主实现基于OpenWRT路由器系统上网络数据包的获取和解析,根据OSI对于网络协议栈的规定和RFC对于协议格式的规定,将其中难以辨识的二进制数据以文本形式呈现,方便读者使用的同时也降低了软件入门门槛,更利于软件的推广和使用,利用Linux网卡的工作模式,获取不同途径的网络数据包,扩大了数据流量的来源途径。
【附图说明】
[0013]图1为本发明中TCP协议过程图。
[0014]图2为本发明中解析HTTTP协议流程图。
[0015]图3为本发明中实施流程示意图。
【具体实施方式】
[0016]下面结合【具体实施方式】对本专利的技术方案作进一步详细地说明。
[0017]请参阅图1-3,一种基于OpenWRT系统的网络嗅探方法,具体步骤如下:
[0018](I)数据包抓取:软件启动后,先检查路由器本身的状态,获取其有线和无线网卡的信息,再根据网卡的状态,数据获取模块选择性的运行在不同网卡上,从而获取不同网卡的数据;数据获取模块获取到一个数据包之后,判断沟通模块现在是否有空间存储获取的数据,若空间不足则丢弃数据包,若空间足够就把数据包写入沟通模块,从而为数据解析模块提供数据;
[0019](2)数据包特征判断:完成数据包获取后,数据解析模块先对获取到的数据包进行特征提取,从而区分数据包的类型;所述数据包的类型包括无线数据包、有线数据包,HTTTP数据包和FTP数据包;在软件的配置文件中设置有数据包的类型的配置项,主要功能是过滤用户不感兴趣的数据包,减少要解析的数据量,提高解析效率;
[0020](3)数据包解析:对于经过数据包特征判断阶段的数据包进行内容提取,根据请求评议RFC对不同协议格式的规定,按照格式要求解析其中的信息,将不易理解的二进制数据转换成对应的字符串型数据,同时,对用户感兴趣的信息做重复性检验,以确保该信息的正确性。
[0021]所述的基于openwrt系统的网络嗅探方法针对路由器端,基于已经为众多厂商适配了统一用户接口的OpenWRT路由器系统,让路由器在不影响提供上网服务的同时对经过的数据流量进行解包和分析,并提供纯文本形式的配置文件,用户根据一定格式,简单的编写配置文件,即可达到对本发明产品的个性化修改,以满足用户个性化的需求。
[0022]本发明所解决的网络嗅探方案可以从三个方面阐述:
[0023]数据流量来源:本发明不仅可以对连接上路由器本身的用户数据流量进行嗅探和分析,也可以对空其中无线网络数据包进行嗅探和分析;众所周知,无线数据使用空气作为传输的介质,由于空气的开放性,任何运行在其中的设备,只要具有接受无线数据包的硬件设备,均可以获取到其中的数据包;因此,本发明一方面读取流过路由器本身的数据流量,另一方面也针对空气中的数据流量进行读取,从而扩大了数据流量的来源,更易满足不同用户的需求。
[0024]数据获取和信息解析分开:本发明实现中,将数据获取单元和信息解析单元分开,并在其中配置沟通模块,数据获取单元负责从不同渠道捕获数据包,包括经过路由器本身和分布在空气中的,将捕获的数据存入沟通模块中;信息解析方面,从沟通模块读取数据获取单元拿到的数据包,专门负责解析数据包;如果某个时间段沟通模块没有数据包,则信息解析单元不会解析数据,直到可以读取到数据后才会进行解析;从而降低了数据获取和信息解析的耦合度,提高了产品整体的可用性。
[0025]信息解析全面:数据包在发送和接收时,网络协议栈会根据数据包的长度多少,决定是否会截断数据包和组合数据包。因此,数据包在网络中并不是相对独立的,某些数据包可能是更大的数据包的组成部分。本发明中,通过对抓取到的数据包先进行缓存,判断数据包是否存在截断的特征,如果有则会等到读取完剩余部分的数据包后在进行组装和解析,从而大大的提高了对数据包信息内容的获取。
[0026]本发明利用路由器上网络调制解调器和网络数据包特征进行数据解析和信息提取,对提取到的数据包信息进行再次提取,自主实现基于OpenWRT路由器系统上网络数据包的获取和解析,根据OSI对于网络协议栈的规定和RFC对于协议格式的规定,将其中难以辨识的二进制数据以文本形式呈现,方便读者使用的同时也降低了软件入门门槛,更利于软件的推广和使用,利用Linux网卡的工作模式,获取不同途径的网络数据包,扩大了数据流量的来源途径。
[0027]上面对本专利的较佳实施方式作了详细说明,但是本专利并不限于上述实施方式,在本领域的普通技术人员所具备的知识范围内,还可以在不脱离本专利宗旨的前提下作出各种变化。
【主权项】
1.一种基于OpenWRT系统的网络嗅探方法,其特征在于,具体步骤如下: (1)数据包抓取:软件启动后,先检查路由器本身的状态,获取其有线和无线网卡的信息,再根据网卡的状态,数据获取模块选择性的运行在不同网卡上,从而获取不同网卡的数据;数据获取模块获取到一个数据包之后,判断沟通模块现在是否有空间存储获取的数据,若空间不足则丢弃数据包,若空间足够就把数据包写入沟通模块,从而为数据解析模块提供数据; (2)数据包特征判断:完成数据包获取后,数据解析模块先对获取到的数据包进行特征提取,从而区分数据包的类型;在软件的配置文件中设置有数据包的类型的配置项; (3)数据包解析:对于经过数据包特征判断阶段的数据包进行内容提取,根据请求评议RFC对不同协议格式的规定,按照格式要求解析其中的信息,将二进制数据转换成对应的字符串型数据,同时,对信息做重复性检验,以确保该信息的正确性。2.根据权利要求1所述的基于OpenWRT系统的网络嗅探方法,其特征在于,所述数据包的类型包括无线数据包、有线数据包,HTTTP数据包和FTP数据包。
【文档编号】H04L29/06GK105871658SQ201610369541
【公开日】2016年8月17日
【申请日】2016年5月26日
【发明人】闫高峰, 郭建勋, 刘宁, 许剑桥, 李明亮
【申请人】广州纳斯威尔信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1