本申请属于无线通讯领域,特别涉及一种无线局域网定位ap的装置和方法。
背景技术:
近年来,随着无线网络技术的成熟,越来越多的人们通过无线设备连接到网络。而随之而来的无线网络安全问题也越来越备受重视,其中伪ap尤为严重,如果连接到伪ap,则可能面临邮箱,网银,支付宝等重要密码被窃取的危险。
确认区域内的ap数目,寻找到每个ap的具体位置,可有效的防止个人账户及企业私密信息的泄露。
现有相关专利申请如专利申请号为cn201210563030、cn201410185266、cn201510223906和cn201810880246的发明专利,其中申请号为cn201210563030,名称为《一种无线终端定位系统》的发明专利,申请日期为2012.12.21,其内容为:本发明公开了一种无线终端定位系统,包括数据包采集单元、信号分析单元、运动传感器、轨迹生成单元、导航单元和显示单元,其中,轨迹生成单元生成无线终端定位系统的移动轨迹;导航单元根据zi=|sqr(p/4π·rssii)-sqr[(x-x’i)2+(y-y’i)2]|,求解使得取最小值的x和y,取得无线终端相对于无线终端定位系统的物理坐标(x,y)。但是上述专利是在移动轨迹上选取多个点,然后需要根据方程求解,算出无线终端定位系统的移动轨迹和无线终端相对于定位系统当前位置的物理坐标。由于无线终端存在被遮挡的情况以及信号值在复杂情况下衰减程度不同,因此只根据信号值大小无法准确定位,也就无法准确的定位出ap的位置。
技术实现要素:
为了避免连接到无线局域网中可能存在的伪ap而带来的风险,现特别提出一种能显示无线局域网内真实ap位置、并显示轨迹路径的无线局域网定位ap的装置和方法。
为实现上述目的,本申请的具体方案为:
一种无线局域网定位ap的装置,其特征在于:包括
数据采集模块,所述采集模块用于抓取无线局域网内无线终端发出的数据包;如抓取无线局域网区域内的802.11数据帧等数据包。以及抓取无线局域网定位ap的装置的移动路径数据;
数据分析模块,用于根据抓取的数据获取信息;
数据显示模块,用于将抓取的移动路径数据转化为屏幕坐标,并根据移动路径绘制成轨迹图,根据各个坐标点的不同信号值进行标注。
进一步地,数据分析模块获取的信息为网络数据,所述信息至少包括无线终端的名称(ssid)以及信号值,并根据wifi协议对抓取数据包的协议头进行分析。
进一步地,在根据移动路径绘制成轨迹图时,根据行走的总路径与屏幕大小按比例换算,并根据各个坐标点的不同信号值使用不同的颜色进行标注。信号值可以从数据包的协议头里解析出来,不同位置的信号值不同,则不同位置的颜色也设置为不同,具体则可以根据信号值大小进行颜色深浅的对应设置。
所述数据采集模块与数据分析模块为server端,所述数据显示模块为client端,所述server端与client端均集成在无线局域网定位ap的装置上,server端运行于android的内核,client端运行于android的应用层。
进一步地,所述数据采集模块包括monitor模式的无线网卡、陀螺仪和加速度计,所述无线网卡用于获取无线网络数据,所述陀螺仪用于获取无线局域网定位ap的装置移动的方向,所述加速度计用于获取无线局域网定位ap的装置移动路径的加速度值。
进一步地,所述数据分析模块使用回调分析函数进行数据包分析,根据过滤条件进行数据包过滤,然后数据分析模块进行数据包分析获取有用信息进行存储,实现模块逻辑功能。
数据分析模块获取的ap信息至少包括ssid、bssid、信道、加密方式、信号强度信息。
ap信息存储于双向链表中,所述双向链表位于server端,即设备的内存中,并通过localsocket发送到client端。
根据获取时间t,超过时间t未获取的将从链表删除,删除的内容为之前从数据分析模块获取到的所有信息。时间t可根据实际需求进行设置。
一种无线局域网定位ap的方法,其特征在于,包括如下步骤:
步骤一,无线局域网定位ap的装置在需要定位的区域内移动;
步骤二,无线局域网定位ap的装置中的数据采集模块抓取无线局域网内无线终端发出的数据包,并抓取无线局域网定位ap的装置的移动路径数据;
步骤三,无线局域网定位ap的装置中的数据分析模块对抓取数据包的协议头进行分析;无线局域网定位ap的装置中的数据显示模块将抓取的移动路径数据转化为屏幕坐标,并根据移动路径绘制成轨迹图,根据各个坐标点的不同信号值进行标注。
步骤四,根据屏幕坐标系和信号值绘制出实时的信号值轨迹路径,当无线局域网定位ap的装置在所在区域移动时,可根据轨迹确认所查询ap的位置。
进一步地,数据采集模块中的无线网卡对抓取数据进行判断,如果抓取数据为无线局域网内无线终端发出的数据包,则将该数据包发送至数据分析模块进行协议头分析;否则结束流程,重新抓取数据。
进一步地,抓包线程不停捕获无线数据包,ap回调函数分析单包数据并将有用信息存储入链表,链表信息存储进数据库,超过时间t未再次获取的该ap信息,信息则被删除。
进一步地,数据采集模块中的陀螺仪获取所指向的方位,加速度计获取行进的速度,结合时间得到移动的路程,数据显示模块结合方位和路程在屏幕中绘制移动轨迹图,获取到的信号值和坐标值一起存入链表,并根据信号值大小采取不同颜色路径绘制。
本申请的优点为:
1、现有的定位技术只根据信号强度与距离的关系,但是信号值存在衰减和衍射干扰等情况,而且无线终端可能存在被遮挡以及被屏蔽的情况,因此信号值大小无法准确判断无线终端的位置。本申请能够避免人们连接到无线局域网中可能存在的伪ap而带来的风险,可准确定位区域内的ap位置,并在屏幕上根据移动路径清晰展示,是操作者根据轨迹确认所查询真实ap的位置。
2、本申请将移动轨迹与移动轨迹颜色结合在一起,根据移动轨迹中颜色重叠的深浅可以清晰的显示ap的位置,使得对ap位置的定位更加准确,而且清晰明了。
附图说明
图1为定位装置结构示意图。
图2为server端数据流程走向示意图。
图3为server端的线程模型图。
具体实施方式
实施例1
一种无线局域网定位ap的装置包括
数据采集模块,所述采集模块用于抓取无线局域网内无线终端发出的数据包;如抓取无线局域网区域内的802.11数据帧等数据包。以及抓取无线局域网定位ap的装置的移动路径数据;
数据分析模块,用于根据抓取的数据获取信息;
数据显示模块,用于将抓取的移动路径数据转化为屏幕坐标,并根据移动路径绘制成轨迹图,根据各个坐标点的不同信号值进行标注。
进一步地,数据分析模块获取的信息为网络数据,所述信息至少包括无线终端的名称(ssid)以及信号值,并根据wifi协议对抓取数据包的协议头进行分析。
在根据移动路径绘制成轨迹图时,根据行走的总路径与屏幕大小按比例换算,并根据各个坐标点的不同信号值使用不同的颜色进行标注。信号值可以从数据包的协议头里解析出来,不同位置的信号值不同,则不同位置的颜色也设置为不同,具体则可以根据信号值大小进行颜色深浅的对应设置。
所述数据采集模块与数据分析模块为server端,所述数据显示模块为client端,所述server端与client端均集成在无线局域网定位ap的装置上,server端运行于android的内核,client端运行于android的应用层。
所述数据采集模块包括monitor模式的无线网卡、陀螺仪和加速度计,所述无线网卡用于获取无线网络数据,所述陀螺仪用于获取无线局域网定位ap的装置移动的方向,所述加速度计用于获取无线局域网定位ap的装置移动路径的加速度值。
所述数据分析模块使用回调分析函数进行数据包分析,根据过滤条件进行数据包过滤,然后数据分析模块进行数据包分析获取有用信息进行存储,实现模块逻辑功能。
数据分析模块获取的ap信息至少包括ssid、bssid、信道、加密方式、信号强度信息。
ap信息存储于双向链表中,所述双向链表位于server端,即设备的内存中,并通过localsocket发送到client端。
根据获取时间t,超过时间t未获取的将从链表删除,删除的内容为之前从数据分析模块获取到的所有信息。时间t可根据实际需求进行设置。
实施例2
一种无线局域网定位ap的方法包括如下步骤:
步骤一,无线局域网定位ap的装置在需要定位的区域内移动;
步骤二,无线局域网定位ap的装置中的数据采集模块抓取无线局域网内无线终端发出的数据包,并抓取无线局域网定位ap的装置的移动路径数据;
步骤三,无线局域网定位ap的装置中的数据分析模块对抓取数据包的协议头进行分析;无线局域网定位ap的装置中的数据显示模块将抓取的移动路径数据转化为屏幕坐标,并根据移动路径绘制成轨迹图,根据各个坐标点的不同信号值进行标注。
步骤四,根据屏幕坐标系和信号值绘制出实时的信号值轨迹路径,当无线局域网定位ap的装置在所在区域移动时,可根据轨迹确认所查询ap的位置。
数据采集模块中的无线网卡对抓取数据进行判断,如果抓取数据为无线局域网内无线终端发出的数据包,则将该数据包发送至数据分析模块进行协议头分析;否则结束流程,重新抓取数据。
抓包线程不停捕获无线数据包,ap回调函数分析单包数据并将有用信息存储入链表,链表信息存储进数据库,超过时间t未再次获取的该ap信息,信息则被删除。
数据采集模块中的陀螺仪获取所指向的方位,加速度计获取行进的速度,结合时间得到移动的路程,数据显示模块结合方位和路程在屏幕中绘制移动轨迹图,获取到的信号值和坐标值一起存入链表,并根据信号值大小采取不同颜色路径绘制。
实施例3
图1为定位装置结构示意图。图2所示为server端的数据采集模块。判断是否为802.11数据帧,之后放入链表存储。图2中server端的数据采集模块创建一个独立线程,通过无线网卡每秒抓取100个数据包,运用pcap_loop函数,如果判断为802.11数据包,则将数据包发送至数据分析模块进行分析,如果不为802.11数据包,则直接结束。
图3所示为server端的线程模型。
1.抓包线程不停捕获无线数据包,并进行分析。
2.ap回调函数分析单包数据并将有用信息存储入链表。
3.链表信息存储进数据库,方便查询。
4.超过t分钟未再次获取的ap信息,将被删除。
图3中的捕包线程将获取到的数据包,截取出802.11帧数据,然后ap回调函数进行单包分析,获取出有用信息并写入文件,将其存储到ap信息缓存队列中,并保存到系统文件。查询线程(界面线程)依次通过获取链表字段和显示链表记录实现查询缓存队列中的各项信息的功能。定位线程(界面线程)可以通过查询缓存队列,获取到信号值。
server端与client端通过unix域套接字连接,实时获取到该位置的信号值。
1.使用陀螺仪来获取所指向的方位,使用加速度仪来获取行进的速度,结合时间可以得到移动的路程。
2.结合方位和路程在屏幕中可绘制移动轨迹图
3.获取到的信号值和坐标值一起存入链表,并根据信号值大小采取不同颜色路径绘制。
装置使用步骤:
1.确认需要定位ap的区域。
2.在该区域内手持装置行走。
3.根据装置绘制出的路径轨迹图可以找出ap的位置。颜色越红的地方越靠近ap。