发明内容
本发明的目的是克服了上述现有技术中的缺点,提供一种能够不限时长、不限容量地实现实时、高效抓包,且显示直观,能够应用于任何带以太网口的设备上,以便于实现对WIFI设备的调试和监控的,实现方式简便,应用成本低廉,应用范围较为广泛的基于嵌入式无线设备实现网络数据包抓取的***及方法。
为了实现上述的目的,本发明的基于嵌入式无线设备实现网络数据包抓取的***具有如下构成:
所述的***包括嵌入式无线设备以及通过以太网连接所述的嵌入式无线设备的数据包抓取分析设备,所述的嵌入式无线设备包括依次顺序连接的无线包收发模块、无线包复制模块、第一以太网驱动模块和第一以太网网口,所述的数据包抓取分析设备包括依次顺序连接的第二以太网网口、第二以太网驱动模块、抓取模块和解析显示模块,所述的第一以太网网口通过以太网连接所述的第二以太网网口。
该基于嵌入式无线设备实现网络数据包抓取的***中,所述的解析显示模块为解析及图形化显示模块。
该基于嵌入式无线设备实现网络数据包抓取的***中,所述的数据包抓取分析设备还包括存储模块,所述的存储模块分别连接所述的抓取模块和解析显示模块。
该基于嵌入式无线设备实现网络数据包抓取的***中,所述的数据包抓取分析设备为PC机。
该基于嵌入式无线设备实现网络数据包抓取的***中,所述的无线包收发模块为混杂模式无线收发模块。
该基于嵌入式无线设备实现网络数据包抓取的***中,所述的第一以太网网口和第二以太网网口均为混杂模式以太网网口。
本发明还提供一种基于所述的***实现嵌入式无线设备网络数据包抓取的方法,该方法包括以下步骤:
(1)所述的无线包收发模块将其无线收发的数据包发送至所述的无线包复制模块;
(2)所述的无线包复制模块复制获得的数据包,并将复制的数据包发送至所述的第一以太网驱动模块;
(3)所述的第一以太网驱动模块将所获得的数据包经过所述的第一以太网网口和以太网发送至所述的数据包抓取分析设备的第二以太网网口;
(4)所述的第二以太网网口将所获得的数据包经过所述的第二以太网驱动模块发送至所述的抓取模块;
(5)所述的抓取模块抓取数据包,并将所抓取的数据包发送至所述的解析显示模块;
(6)所述的解析显示模块对所述的抓取的数据包进行解析,并显示解析结果。
该实现嵌入式无线设备网络数据包抓取的方法中,所述的解析显示模块为解析及图形化显示模块,所述的步骤(6)具体包括以下步骤:
(61)所述的解析及图形化显示模块解析抓取的数据包;
(62)所述的解析及图形化显示模块图形化显示解析结果。
该实现嵌入式无线设备网络数据包抓取的方法中,所述的解析及图形化显示模块解析抓取的数据包,具体为:所述的解析及图形化显示模块根据802.11类型解析抓取的数据包。
该实现嵌入式无线设备网络数据包抓取的方法中,所述的数据包抓取分析设备还包括存储模块,所述的存储模块分别连接所述的抓取模块和解析显示模块,所述的步骤(5)具体包括以下步骤:
(51)所述的抓取模块抓取数据包,并将所抓取的数据包发送至所述的存储模块存储为抓包文件;
(52)所述的解析显示模块从所述的存储模块读取所述的抓包文件。
该实现嵌入式无线设备网络数据包抓取的方法中,所述的步骤(51)具体包括以下步骤:
(51-1)所述的抓取模块抓取数据包;
(51-2)所述的抓取模块根据预设的条件对所抓取的数据包进行过滤;
(51-3)所述的抓取模块将过滤后的数据包发送至所述的存储模块存储为抓包文件。
采用了该发明的基于嵌入式无线设备实现网络数据包抓取的***及方法,由于其***包括嵌入式无线设备和数据包抓取分析设备,所述的嵌入式无线设备包括依次顺序连接的无线包收发模块、无线包复制模块、第一以太网驱动模块和第一以太网网口,所述的数据包抓取分析设备包括依次顺序连接的第二以太网网口、第二以太网驱动模块、抓取模块和解析显示模块,且所述的第一以太网网口通过以太网连接所述的第二以太网网口。从而得以通过无线包复制模块复制获得的数据包,并将复制的数据包顺序通过第一以太网驱动模块、第一以太网网口、以太网、第二以太网网口和第二以太网驱动模块发送至所述的抓取模块;再由抓取模块抓取数据包,并由解析显示模块对所述的抓取的数据包进行解析后,显示解析结果。所以能够利用以太网,不限时长、不限容量地对嵌入式无线设备的数据包进行实时、高效的抓包,并进行直观显示,能够应用于任何带以太网口的设备上,以便于实现对WIFI设备的调试和监控,且本发明的基于嵌入式无线设备实现网络数据包抓取的***及方法,其***的结构简单,成本低廉,其方法的应用方式简便,应用范围也较为广泛。
具体实施方式
为了能够更清楚地理解本发明的技术内容,特举以下实施例详细说明。
请参阅图1所示,为本发明的基于嵌入式无线设备实现网络数据包抓取的***的结构示意图。
在一种实施方式中,所述的***包括嵌入式无线设备以及通过以太网连接所述的嵌入式无线设备的数据包抓取分析设备,所述的嵌入式无线设备包括依次顺序连接的无线包收发模块、无线包复制模块、第一以太网驱动模块和第一以太网网口,所述的数据包抓取分析设备包括依次顺序连接的第二以太网网口、第二以太网驱动模块、抓取模块和解析显示模块,所述的第一以太网网口通过以太网连接所述的第二以太网网口。其中,所述的数据包抓取分析设备可以为PC机,且所述的无线包收发模块为工作于混杂模式的无线收发模块,所述的第一以太网网口和第二以太网网口均为工作于混杂模式的以太网网口。
基于该实施方式所述的***实现嵌入式无线设备网络数据包抓取的方法,如图2所示,包括以下步骤:
(1)所述的无线包收发模块将其无线收发的数据包发送至所述的无线包复制模块;
(2)所述的无线包复制模块复制获得的数据包,并将复制的数据包发送至所述的第一以太网驱动模块;
(3)所述的第一以太网驱动模块将所获得的数据包经过所述的第一以太网网口和以太网发送至所述的数据包抓取分析设备的第二以太网网口;
(4)所述的第二以太网网口将所获得的数据包经过所述的第二以太网驱动模块发送至所述的抓取模块;
(5)所述的抓取模块抓取数据包,并将所抓取的数据包发送至所述的解析显示模块;
(6)所述的解析显示模块对所述的抓取的数据包进行解析,并显示解析结果。
在一种较优选的实施方式中,所述的解析显示模块为解析及图形化显示模块。则所述的步骤(6)具体包括以下步骤:
(61)所述的解析及图形化显示模块解析抓取的数据包;
(62)所述的解析及图形化显示模块图形化显示解析结果。
在一种进一步优选的实施方式中,所述的步骤(61)中的解析及图形化显示模块解析抓取的数据包,具体为:所述的解析及图形化显示模块根据802.11类型解析抓取的数据包。
在更进一步优选的实施方式中,所述的数据包抓取分析设备还包括存储模块,所述的存储模块分别连接所述的抓取模块和解析显示模块。
基于该更进一步优选的实施方式所述的***实现嵌入式无线设备网络数据包抓取的方法中,所述的步骤(5)具体包括以下步骤:
(51)所述的抓取模块抓取数据包,并将所抓取的数据包发送至所述的存储模块存储为抓包文件;
(52)所述的解析显示模块从所述的存储模块读取所述的抓包文件。
在更优选的实施方式中,所述的步骤(51)具体包括以下步骤:
(51-1)所述的抓取模块抓取数据包;
(51-2)所述的抓取模块根据预设的条件对所抓取的数据包进行过滤;
(51-3)所述的抓取模块将过滤后的数据包发送至所述的存储模块存储为抓包文件。
在实际应用中,本发明的是通过在嵌入式无线设备中将接收和发送的无线包复制一份通过以太网口的驱动从以太网口发送出去,设备的网口通过网线直连PC的以太网口,在PC上可以通过WinPcap/Libcap(windows***是WinPcap,linux***是Libcap)开发包存储,或者利用Wireshark等工具软件存储存无线包格式或直接显示出来。
通过一种简单的方法实现对收发的无线包捕获,具有软件工作量小,对设备的性能影响小,抓包实时,高效。并且存储和显示在PC上,充分利用了PC的工具软件丰富,图形界面直观,硬件资源(CPU快,内存和硬盘空间足够大)几乎不受限的优点,便于学习和调试WIFI协议。
在本发明的使用过程中,在WIFI设备开启无线抓包后,无线抓包开始。整个抓包过程可以分为以下步骤。
(1)无线模块每接收或者发送一个包,都送入无线复制模块;
(2)复制包,调用以太网驱动发送复制包;
(3)以太网驱动将复制包发送到设备以太网口;
(4)设备以太网口发送包通过以太网线到达PC的以太网口;
(5)以太网口收到包后,进入PC以太网口的驱动模块处理;
(6)PC以太网口的驱动模块将包送至抓包模块;
(7)抓包模块将包捕获后送入图形化显示模块,解析并显示抓包内容,或者通过步骤(8)处理;
(8)将捕获的包存为特定格式的文件(后续包追加在此文件中);
(9)打开文件,解析并显示包内容。
对于后续无线包,可以不断重复步骤(1)到(9),直至停止抓包。
其中,将无线收发模块设置为混杂模式(或者称监控模式)时,能够捕获当前WIFI设备所在信道的所有无线包,用此功能还能监控捕获其他WIFI设备之间的所有通信包。
在步骤(5)中,在处理前PC的以太网口要设置成混杂模式,便于接收所有从以太网口收到的包。步骤(7)或(8)中可以对包进行过滤,选取感兴趣的包的类型。解析包时包类型按802.11类型解析,不是按以太网类型解析包内容。而步骤(6)、(7)、(8)和(9)中可以通过WinPcap/Libcap(windows***是WinPcap,linux***是Libcap)存储,或者利用Wireshark等工具软件存储存无线包格式或者直接显示出来,可以节省PC上软件的开发工作。即在PC侧可以有少量的开发工作或者利用现有流行的工具软件不用做开发即可实现功能。
以下以嵌入式linux操作***和C语言为例,描述其具体实现过程,粗体为相较于现有技术需要增加的代码内容:
——在无线收发包模块中
本发明的关键点在于:
1)对收发的无线原始包复制一份,不影响原有协议的正常运行。
2)复制的包通过以太网口驱动直接发送出去,不通过协议栈,效率极高。
3)在PC上用wireshark抓包工具(或其它抓包工具)存储或者显示时,将包的类型解释为802.11类型,而不是通常以太网口抓包的类型Ethernet。
4)能够满足高吞吐量情况下的无丢包的抓包要求。目前WIFI协议中速率最高的802.11n在最理想情况下,瞬间吞吐量最高值为300Mbps,目前千兆以太网口已经十分普遍,由于1000Mbps远大于300Mbps,所以即使在无线吞吐量达到理想最高值的情况下,以太网口通道完全足够用,不会存在拥塞丢包的现象。若WIFI设备本身的以太网口最高速率只有百兆,根据802.11n在实际环境中的应用,因为存在或多或少的干扰,实际吞吐量很难超过90Mbps,所以百兆网口在绝大多数情况下也足够用。
采用了该发明的基于嵌入式无线设备实现网络数据包抓取的***及方法,由于其***包括嵌入式无线设备和数据包抓取分析设备,所述的嵌入式无线设备包括依次顺序连接的无线包收发模块、无线包复制模块、第一以太网驱动模块和第一以太网网口,所述的数据包抓取分析设备包括依次顺序连接的第二以太网网口、第二以太网驱动模块、抓取模块和解析显示模块,且所述的第一以太网网口通过以太网连接所述的第二以太网网口。从而得以通过无线包复制模块复制获得的数据包,并将复制的数据包顺序通过第一以太网驱动模块、第一以太网网口、以太网、第二以太网网口和第二以太网驱动模块发送至所述的抓取模块;再由抓取模块抓取数据包,并由解析显示模块对所述的抓取的数据包进行解析后,显示解析结果。所以能够利用以太网,不限时长、不限容量地对嵌入式无线设备的数据包进行实时、高效的抓包,并进行直观显示,能够应用于任何带以太网口的设备上,以便于实现对WIFI设备的调试和监控,且本发明的基于嵌入式无线设备实现网络数据包抓取的***及方法,其***的结构简单,成本低廉,其方法的应用方式简便,应用范围也较为广泛。
在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。