一种基于wifi的智能终端实时嗅探方法及系统的制作方法_2

文档序号:9915180阅读:来源:国知局
统采集的数据通过有线或无线的方式传输到服务器;所述电源模块500和所述主控模块100相连,用于给系统各模块提供所需的电压;所述显示模块600和所述主控模块100相连,用于显示各个模块的工作状态。
[0023]其中主控模块100主要实现整个系统的逻辑算法和各类通信数据包的组建分发与接收,包括与后台服务器连接的建立与维护,它有通信与控制两个主要功能。通信功能包括与服务器通过TCP/IP协议进行通信和与WIFI模块以及通信模块进行通信。控制功能,主要是对WIFI模块、通信模块的电源进行控制,并对各类WIFI数据包进行管理。为此,在主控模块中可对WIFI模块中的各类数据进行控制存储与管理。例如将WIFI模块中的数据传输到存储丰吴块中。
[0024]通信模块400,与主控模块100进行通信时,采用串口作为通信介质,采用特定的协议进行数据传输。比如,WIFI模块200与主控模块100的数据传输采用自定义协议进行,而通信模块采用3G模块时,3G模块与主控模块通信,则采用AT命令做具体的实现。
[0025]上述嗅探系统的工作流程为:将嗅探系统布置到某个区域,比如商场,打开系统,它将检测到系统覆盖范围内开启了 WIFI的智能终端,并将上述终端的MAC地址等信息保存下来,然后按照一定的时间周期通过有线或无线的方式将上述数据发送到后台服务器,最终通过人机界面将直观地显示出来。
[0026]进一步地,所述WIFI模块200包括WIFI芯片、射频单元和天线、WIFI内置数据库,所述天线用于在固定信道侦听空口 WIFI数据包,所述射频单元用于放大处理天线侦听到的空口 WIFI数据包,所述WIFI芯片用于抓取并解析天线获取的侦听的空口 WIFI数据包,所述WIFI内置数据库用于存储解析后数据信息;所述WIFI芯片分别与所述射频单元、所述WIFI内置数据库连接,所述射频单元还与所述天线连接。所述WIFI模块200包含WIFI芯片、射频单元和天线、还有WIFI内置数据库,每个WIFI模块工作在一个信道,只侦听不发送,通过串口与主控模块相连接,用于空口 WIFI数据包的抓取解析,并将解析的数据发送至WIFI内置数据库进行存储,WIFI内置数据库在主控模块的控制下,定期将数据发送到存储模块进行保存。
[0027]其中WIFI模块用于空口WIFI数据饭的抓取解析,具体通过三个线程实现上述功會K:
a.串口等待主控模块配置线程。WIFI模块等待主控模块来配置该WIFI模块的工作信道,汇报周期等参数。
[0028]b.WIFI数据侦听线程。智能终端开启WIFI后,经过扫描、认证和关联三个步骤后,才能够与AP建立数据链接,连接上网络。上述步骤涉及到终端和AP之间三种帧的交互,分别为管理帧、控制帧、数据帧,它们的格式参考图2。比如在扫描阶段,终端会发出管理帧ProbeRequest告知周围AP的存在。不同的手机类型在一个信道发出该帧的频率在一秒到十几秒之间。WIFI模块通过该线程对空口 WIFI数据进行侦听,判断出是智能终端发出的WIFI信号后,从该帧中的MAC部分解析出终端的MAC地址,即图2中的Address2,该地址占六个字节,并将上述MAC地址和信号强度等数据保存到WIFI内置数据库中。
[0029]c.周期数据发送及数据库维护线程。用于把存储WIFI内置数据库中的智能终端数据,周期性的在主控芯片的控制下发给存储模块。这是因为WIFI内置数据库存储空间有限,所以需要对WIFI内置数据库做周期性维护,对于之前的智能终端数据需要定期删除,以保证新的数据及时更新到数据库中。
[0030]具体地,所述存储模块300包括SD存储卡和USB存储设备,所述USB存储设备用于存放数据,所述SD存储卡用于存储检测程序和数据。USB存储设备能实现对数据的随时读取,从而增强了系统的健壮性。
[0031]具体地,所述通信模块400包括有线网卡、无线通信网络单元,所述有线网卡用于将采集的数据通过有线的方式传输到服务器,所述无线通信网络单元用于将采集的数据通过无线的方式传输到服务器。其中无线通信网络单元为2G网络单元、3G网络单元、4G网络单元中的一种,本发明优选3G网络单元。
[0032]具体地,所述显示模块600为LED显示单元。LED显示单元具有消耗资源少的特点,LED显示单元用于显示各个模块的工作状态。
[0033]所述系统有N个WIFI模块,每个WIFI模块工作在不同的信道,其中N为自然数。具体地,为了采集更多的智能终端MAC信息,系统内部可放置多个WIFI模块。每个WIFI模块都有一个射频单元和一根天线,每根天线在固定的信道进行侦听,这样就避免了信道的切换开销,再提高系统检测效率调度同时,也降低了主控模块的开销。
[0034]本发明还了一种基于所述的基于WIFI的智能终端实时嗅探系统的嗅探方法的较佳实施例的流程图,如图3所示,其中,方法包括:
步骤S100、WIFI模块在固定信道上对空口 WIFI数据进行侦听,并判断侦听的数据是否为智能终端发出的WIFI空口数据包;
步骤S200、若检测到侦听的数据为智能终端发出的WIFI空口数据包,则WIFI模块解析出WIFI空口数据包中的智能终端的MAC地址信息并保存;
步骤S300、WIFI模块每隔第一预定时间周期将存储的智能终端的MAC地址信息经主控模块发送至存储模块;
步骤S400、通信模块每隔第二预定时间周期将存储模块中存储的智能终端的MAC地址信息发送至后台服务器;
步骤S500、后台服务器获取智能终端的MAC地址信息,生成当前区域的智能终端分布结果,并发送至人机显示界面进行显示。
[0035]具体实施时,通过捕获智能终端设备发送的管理帧(Proberequest、关联帧、认证帧等)、控制帧以及数据帧,并解析出上述帧中的MAC地址来实现的。只要智能终端开启了WIFI功能,无论它们是否已经连接到访问接入点,系统均能检测到它们的存在。WIFI模块中的天线只负责侦听WIFI空口数据,但不发送数据。系统采用了缓存机制,WIFI模块将采集的终端MAC信息保存到WIFI内建数据库。
[0036]具体实施时,所述步骤SlOO之前还包括:
步骤S10、主控模块通过串口配置WIFI模块的运行参数。
[0037]具体实施时,主控模块通过串口配置WIFI模块的固定信道等参数。具体地,当主控模块开始配置串口时,串口处于接收模式,等待主控模块的配置信息,如固定信道、数据发送时间窗口等信息,数据发送时间窗口即第一预定时间周期,当接收到配置信息时,修改WIFI模块的侦听信道、数据发送时间窗口等信息,并应答主控模块配置信息已收到,继续等待主控模块配置数据。
[0038]其中所述步骤SlOO中通过WIFI模块对空口WIFI数据进行侦听具体包括:
步骤SI 1、配置串口,设置显示模块状态,开启系统时钟定时器,配置串口,使串口处于接收模块,加载WIFI驱动,开启WIFI过滤字,设置默认侦听信道;
步骤S12、侦听空口数据包,判断收到数据包是否为WIFI空口数据包。
[0039]进一步地,所述步骤S200具体包括:
步骤S201、若检测到侦听的数据为智能终端发出的WIFI空口数据包,则WIFI模块解析出WIFI空口数据包中的智能终端的MAC地址信息;
步骤S202、判断MAC地址信息是否已经存储在WIFI模块中,若存在,且上次解析时间与当前解析时间的时间差在第三预定时间内,则将原MAC地址信息替换为当前解析的MAC地址信息对应的数据包信
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1