CN105960016B - 一种获取rssi的方法 - Google Patents
一种获取rssi的方法 Download PDFInfo
- Publication number
- CN105960016B CN105960016B CN201610463822.2A CN201610463822A CN105960016B CN 105960016 B CN105960016 B CN 105960016B CN 201610463822 A CN201610463822 A CN 201610463822A CN 105960016 B CN105960016 B CN 105960016B
- Authority
- CN
- China
- Prior art keywords
- data
- data packet
- file
- packet
- rssi
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W64/00—Locating users or terminals or network equipment for network management purposes, e.g. mobility management
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S11/00—Systems for determining distance or velocity not using reflection or reradiation
- G01S11/02—Systems for determining distance or velocity not using reflection or reradiation using radio waves
- G01S11/06—Systems for determining distance or velocity not using reflection or reradiation using radio waves using intensity measurements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H04W4/04—
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种获取RSSI的方法,属于室内定位领域。本发明方法中AP由挂载着无线网卡的路由器上组成,利用处于Monitor模式的无线网卡监听无线局域网中的数据传输,主动采集周边手机的Wi‑Fi广播信息;利用Tcpdump抓包工具和Libpcap数据包捕获函数库,捕获无线介质中的Wi‑Fi数据包,并将Wi‑Fi数据包保存为后缀为.cap的文件;AP把Wi‑Fi数据包传送至系统服务器,服务器对Wi‑Fi数据包进行格式分析,根据RSSI值封装在Wi‑Fi数据包中的格式和在数据包中的位置,利用程序自动解析数据包并提取RSSI数据。采用本发明方法后,手机客户端不需要安装任何软件,不需要利用手机客户端的接口获取RSSI数据,对手机客户端的操作系统和性能没有要求。
Description
技术领域
本发明涉及室内定位领域,具体涉及一种利用处于Monitor模式的无线网卡主动采集周边手机的Wi-Fi广播信息,并从Wi-Fi数据包中提取所需的RSSI数据的方法。
背景技术
随着智能手机的普及和基于位置服务需求的增加,在建筑环境复杂且人流密集的室内场所,常常需要室内定位来帮助用户获得位置信息。基于Wi-Fi的室内定位系统,利用室内场所已有的网络基础设施和广泛覆盖的Wi-Fi热点进行定位系统的建设,无需另外布置线路及添加额外硬件设备,是一种方便可行的定位方法。基于Wi-Fi的室内定位技术,利用AP(Access Point,访问接入点)的位置坐标来测算手机客户端的位置,以实现定位目的。而AP与手机客户端的位置用接收信号强度指示(Received Signal Strength Indication,RSSI)来衡量。
Wi-Fi是基于IEEE802.11b的无线通讯技术,利用载波侦听多路访问/冲突避免协议(CSMA/CA)来传输数据访问介质,采用广播机制。由于无线信号是扩散到整个空间的,Wi-Fi中无论是广播包或是单播包,其物理层上仍然是广播的。共享广播式的信道是在无线网络中实现抓包的前提条件,是捕获数据包的物理基础。手机客户端通过Wi-Fi接入AP时,首先要经历扫描阶段。在IEEE802.11无线局域网存在主动扫描和被动扫描两种获取RSSI的方式。手机客户端接入Wi-Fi时,其802.11MAC层使用scanning功能来完成扫描。在被动扫描模式下,由手机客户端测量Probe Response帧的RSSI。在主动扫描模式下,则由AP测量得到Probe Request帧的RSSI。
现有的基于Wi-Fi的室内定位系统,通常由手机客户端、AP端、服务器端三个部分构成。目前,许多基于Wi-Fi的室内定位解决方案都是基于手机客户端的定位系统,利用Android系统提供的接口获得周围AP的RSSI特征功能,这意味着需要在手机上安装应用软件来完成RSSI搜索与传输工作。手机客户端需要获得周围AP的RSSI数据,然后把这些检测到的数据发送给服务器,服务器会将得到的实时RSSI信息与数据库里的样本进行匹配运算,从而得到手机客户端的坐标。
发明内容
本发明所要解决的技术问题是提供一种获取RSSI的方法,通过处于Monitor模式的无线网卡主动采集周边手机的Wi-Fi广播信息,把Wi-Fi数据包传送至系统服务器,服务器利用解析程序从Wi-Fi数据包中提取所需的RSSI数据,在服务器端运行定位计算,用户的手机客户端无需安装任何软件。
为解决上述技术问题,本发明采用的技术方案是:
一种获取RSSI的方法,包括以下步骤:
步骤1:在OpenWRT路由操作系统下,将USB无线网卡挂载到路由器上,即安装USB扩展设备驱动程序安装包以及无线网卡芯片相对应的驱动程序安装包;
步骤2:将路由器本身的无线网络端口设置为Master模式,将无线网卡的端口设置为Monitor模式;
步骤3:利用处于Monitor模式的无线网,监听无线局域网中的数据传输;利用Tcpdump抓包工具和Libpcap数据包捕获函数库,捕获无线介质中的Wi-Fi数据包,并将Wi-Fi数据包保存为后缀为.cap的文件;
步骤4:分析Wi-Fi数据包文件头、数据帧头、数据帧内容,找到所需信息所在的字节;
步骤5:解析Wi-Fi数据包并按字节提取所需的数据,包括RSSI数据,具体为:
步骤5.1:定义头文件、结构体和声明文件指针,打开Wi-Fi数据包文件,读取Wi-Fi数据包文件;
步骤5.2:读取Wi-Fi数据包文件的类型,判断链路层类型标志位link-type,若链路层类型为Radio类型,则标志位正确,进而读取数据帧头,否则结束对该文件的解析;
步骤5.3:读取Frame Header,判断这帧的捕获长度,若捕获长度大于160字节,将文件指针移到Beacon Frame的位置,若不符合条件,将文件指针移至下一个Frame Header的初始位置;
步骤5.4:读取Beacon Frame的源地址MAC地址信息,读取提出定位请求的手机客户端的MAC地址,对比源地址MAC地址与手机客户端的MAC地址是否相同,若MAC相同则符合匹配条件,将文件指针移回Radiotap Header的位置,读取Radiotap Header里的RSSI信息,若MAC地址不同则读取下一帧数据;
步骤5.5:将提取到的数据信息打印并保存在txt文件中,数据信息包括link-type类型、捕获长度、RSSI、源地址MAC和时间戳。
根据上述方案,所述Wi-Fi数据包为符合IEEE 802.11标准的通讯设备的Wi-Fi数据包。
根据上述方案,在步骤4中,所述文件头包含标识位、版本号、区域时间、精确时间戳、数据包最大长度和链路层类型。
根据上述方案,在步骤4中,所述帧头包括这帧数据的时间信息、数据包长度和数据包捕获长度。
与现有技术相比,本发明的有益效果是:采用本发明方法后,手机客户端不需要安装任何软件,不需要利用手机客户端的接口获取RSSI数据,对手机客户端的操作系统和性能没有要求。
附图说明
图1为本发明获取RSSI的系统功能示意图。
图2为本发明中Wi-Fi数据包格式图。
图3为本发明中Wi-Fi数据包解析流程示意图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细的说明。本发明一种获取RSSI的方法,基于Wi-Fi的室内定位系统,由具备Wi-Fi功能的手机客户端、挂载无线网卡的路由器、服务器三个部分构成。
如图1所示,AP端由无线网卡和路由器构成。在OpenWRT路由操作系统下,将USB无线网卡挂载到路由器上。安装USB扩展设备驱动程序安装包及无线网卡芯片相对应的驱动程序安装包,使得路由能识别出无线网卡。
设置路由器和无线网卡的工作模式。将路由本身的无线网络端口设置为Master模式,提供无线接入服务以及路由功能;将无线网卡的端口设置为Monitor模式,用于捕获手机客户端的Wi-Fi数据包,只能接收数据,不能发送数据。
在OpenWRT路由操作系统系统下,安装报文抓包工具Tcpdump和数据包捕获函数库Libpcap。Tcpdump工具为用户层和数据链路驱动程序间提供接口,使用户层能采集所需的网络数据报文,可以针对网络层、协议、网络、主机或端口进行过滤,实现报文的截取。在安装Tcpdump的同时,安装数据包捕获函数库Libpcap(the Packet Capture Libmry),以便将无线介质中传送的IEEE802.11b的帧完全捕获。将无线网卡进行设置为Monitor模式,使用Tcpdump捕获Wi-Fi数据包,将完整的IEEE802.11b数据包捕获,并存为后缀为.cap格式文件。
如图2所示,根据IEEE802.11国际标准,任何符合IEEE 802.11标准的通讯设备,在向外发送数据时,RSSI值都已封装在了数据包中。RSSI值封装在Wi-Fi数据包中,其格式和在数据包中的位置都有具体规定。
分析Wi-Fi数据包文件头(Cap Header)。所述文件头包含了标识位、版本号、区域时间、精确时间戳、数据包最大长度和链路层类型(Link-type)。每个Wi-Fi数据包文件头有24个字节的文件头信息,其中最后4个字节为链路层类型(Link-type)。不同的网络环境下抓包,Link-type是不同的,Link-type为Radio类型的链路层包含RSSI信息。
分析数据帧头(Frame Header)。所述帧头包括这帧数据的时间信息、数据包长度和数据包捕获长度。提取捕获长度的信息进行判断,以便跳过无效的数据帧。每帧数据的前16个字节,为每帧的帧头数据信息。所述捕获长度大于160字节为含Radiotap Header的数据帧,Radiotap Header中包含RSSI信息。
分析RSSI信息位置(Radiotap Header)。在每帧帧头Frame Header之后,紧跟着是18个字节Radiotap Header(Radiotap Header是802.11标准的监听头标准,这个监听头是无线网卡自动添加在802.11MAC前的帧头,帧头信息包含了信号级别、噪声级别、传输频率和传输速率等信息等物理层信息),这18字节中含有室内定位所需的RSSI信息,所述RSSI信息在第15字节。
分析MAC地址位置(Beacon Frame)。在Radiotap Header之后是24字节的BeaconFrame,Beacon Frame中包含6字节的目的地址MAC和6字节的源地址MAC。提取出源地址MAC,即可判断其是否为对应的手机客户端的发出的信息。
如图3所示,根据Wi-Fi数据包解析流程,解析Wi-Fi数据包并提取所需的数据。
首先定义头文件、结构体,声明文件指针等等。打开Wi-Fi数据包文件,读取文件。
读取文件的类型,判断链路层类型标志位link-type,若链路层类型为Radio类型,则标志位正确,进而读取数据帧头,否则结束对该文件的解析。
读取Frame Header,判断这帧的捕获长度,若捕获长度大于160字节,则符合条件,就将文件指针移到Beacon Frame的位置。若不符合条件,将文件指针移至下一个FrameHeader的初始位置。
读取Beacon Frame的源地址MAC地址信息。读取提出定位请求的手机客户端的MAC地址。对比源地址MAC地址与手机客户端的MAC地址是否相同。若MAC相同则符合匹配条件,将文件指针移回Radiotap Header的位置,读取Radiotap Header里的RSSI信息。若MAC地址不同则读取下一帧数据。
将提取到的link-type类型、捕获长度、RSSI、源地址MAC、时间戳等数据信息打印并保存在txt文件中。
Claims (4)
1.一种获取RSSI的方法,其特征在于,包括以下步骤:
步骤1:在OpenWRT路由操作系统下,将USB无线网卡挂载到路由器上,即安装USB扩展设备驱动程序安装包以及无线网卡芯片相对应的驱动程序安装包;
步骤2:将路由器本身的无线网络端口设置为Master模式,将无线网卡的端口设置为Monitor模式;
步骤3:利用处于Monitor模式的无线网,监听无线局域网中的数据传输;利用Tcpdump抓包工具和Libpcap数据包捕获函数库,捕获无线介质中的Wi-Fi数据包,并将Wi-Fi数据包保存为后缀为.cap的文件;
步骤4:分析Wi-Fi数据包文件头、数据帧头、数据帧内容,找到所需信息所在的字节;
步骤5:解析Wi-Fi数据包并按字节提取所需的数据,包括RSSI数据,具体为:
步骤5.1:定义头文件、结构体和声明文件指针,打开Wi-Fi数据包文件,读取Wi-Fi数据包文件;
步骤5.2:读取Wi-Fi数据包文件的类型,判断链路层类型link-type,若链路层类型为Radio类型,则标识位正确,进而读取数据帧头,否则结束对该文件的解析;
步骤5.3:读取Frame Header,判断这帧的捕获长度,若捕获长度大于160字节,将文件指针移到Beacon Frame的位置,若不符合条件,将文件指针移至下一个Frame Header的初始位置;
步骤5.4:读取Beacon Frame的源地址MAC地址信息,读取提出定位请求的手机客户端的MAC地址,对比源地址MAC地址与手机客户端的MAC地址是否相同,若MAC相同则符合匹配条件,将文件指针移回Radiotap Header的位置,读取Radiotap Header里的RSSI信息,若MAC地址不同则读取下一帧数据;
步骤5.5:将提取到的数据信息打印并保存在txt文件中,数据信息包括link-type类型、捕获长度、RSSI、源地址MAC和时间戳。
2.如权利要求1所述的一种获取RSSI的方法,其特征在于,所述Wi-Fi数据包为符合IEEE802.11标准的通讯设备的Wi-Fi数据包。
3.如权利要求1所述的一种获取RSSI的方法,其特征在于,在步骤4中,所述文件头包含标识位、版本号、区域时间、精确时间戳、数据包最大长度和链路层类型。
4.如权利要求1所述的一种获取RSSI的方法,其特征在于,在步骤4中,所述帧头包括这帧数据的时间信息、数据包长度和数据包捕获长度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610463822.2A CN105960016B (zh) | 2016-06-23 | 2016-06-23 | 一种获取rssi的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610463822.2A CN105960016B (zh) | 2016-06-23 | 2016-06-23 | 一种获取rssi的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105960016A CN105960016A (zh) | 2016-09-21 |
CN105960016B true CN105960016B (zh) | 2019-12-20 |
Family
ID=56903584
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610463822.2A Active CN105960016B (zh) | 2016-06-23 | 2016-06-23 | 一种获取rssi的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105960016B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106453107A (zh) * | 2016-10-27 | 2017-02-22 | 大连理工大学 | 一种基于无线网络信号物理层扰动的运动检测路由器 |
CN109462616A (zh) * | 2018-12-29 | 2019-03-12 | 杭州全维技术股份有限公司 | 基于分析无线控制帧和数据帧的扫描方法 |
CN110536324B (zh) * | 2019-09-05 | 2022-08-12 | 山东一瓦信息技术有限公司 | 一种WiFi信号数据的采集和处理方法及其系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7899472B1 (en) * | 2003-02-14 | 2011-03-01 | Atheros Communications, Inc. | Positioning with wireless local area networks and WLAN-aided global positioning systems |
CN103068039A (zh) * | 2012-12-17 | 2013-04-24 | 华南理工大学 | 一种基于WiFi信号的RSSI值的定位方法 |
CN104159244A (zh) * | 2014-08-05 | 2014-11-19 | 王强 | 一种便携式无线网络探测取证系统 |
CN104717721A (zh) * | 2015-02-27 | 2015-06-17 | 上海连尚网络科技有限公司 | WiFi接入系统 |
CN105430688A (zh) * | 2015-11-13 | 2016-03-23 | 重庆邮电大学 | 一种基于软件定义网络的wlan架构 |
CN105472729A (zh) * | 2014-09-11 | 2016-04-06 | 广州兰大晨曦企业孵化器有限公司 | 一种基于WiFi室内定位技术的大数据处理系统和方法 |
CN105472640A (zh) * | 2015-11-13 | 2016-04-06 | 上海熙菱信息技术有限公司 | WiFi信息采集方法及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9473555B2 (en) * | 2012-12-31 | 2016-10-18 | The Nielsen Company (Us), Llc | Apparatus, system and methods for portable device tracking using temporary privileged access |
CN103532782B (zh) * | 2013-10-15 | 2017-07-28 | 东南大学 | 一种wlan无线网络测试仪及其测试方法 |
CN103997782B (zh) * | 2014-04-24 | 2018-06-05 | 湘潭大学 | 一种基于信号强度和抓包速率的无线ap探测定位的方法 |
US10506507B2 (en) * | 2014-04-30 | 2019-12-10 | Hewlet Packard Enterprise Development LP | Wireless access point selection based on a connection plan |
CN105682119A (zh) * | 2016-01-21 | 2016-06-15 | 苏州盛世十月软件技术有限公司 | 一种卡扣监管系统及其控制方法 |
-
2016
- 2016-06-23 CN CN201610463822.2A patent/CN105960016B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7899472B1 (en) * | 2003-02-14 | 2011-03-01 | Atheros Communications, Inc. | Positioning with wireless local area networks and WLAN-aided global positioning systems |
CN103068039A (zh) * | 2012-12-17 | 2013-04-24 | 华南理工大学 | 一种基于WiFi信号的RSSI值的定位方法 |
CN104159244A (zh) * | 2014-08-05 | 2014-11-19 | 王强 | 一种便携式无线网络探测取证系统 |
CN105472729A (zh) * | 2014-09-11 | 2016-04-06 | 广州兰大晨曦企业孵化器有限公司 | 一种基于WiFi室内定位技术的大数据处理系统和方法 |
CN104717721A (zh) * | 2015-02-27 | 2015-06-17 | 上海连尚网络科技有限公司 | WiFi接入系统 |
CN105430688A (zh) * | 2015-11-13 | 2016-03-23 | 重庆邮电大学 | 一种基于软件定义网络的wlan架构 |
CN105472640A (zh) * | 2015-11-13 | 2016-04-06 | 上海熙菱信息技术有限公司 | WiFi信息采集方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105960016A (zh) | 2016-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Vattapparamban et al. | Indoor occupancy tracking in smart buildings using passive sniffing of probe requests | |
US8072895B2 (en) | Management procedure in wireless communication system and station supporting management procedure | |
CN1887012B (zh) | 用于通信系统中的无线电资源管理的系统和方法 | |
KR101160590B1 (ko) | Wlan 내의 복수의 스테이션 사이의 자원 측정 방법 및 wlan 내의 복수의 스테이션 사이의 자원 측정을 위해 구성된 장치 | |
US8831520B2 (en) | Information sharing method in cognitive radio communication, cognitive radio communication device, and cognitive radio communication system | |
US20050197136A1 (en) | Selective termination of wireless connections to refresh signal information in wireless node location infrastructure | |
US20070167140A1 (en) | Method and apparatus for distributing beacon information | |
CN105960016B (zh) | 一种获取rssi的方法 | |
KR20100077383A (ko) | 무선 통신 시스템에서 위치 기반 서비스를 위한 위치 정보 태깅 방법 및 이를 위한 장치 | |
AU2003223508A1 (en) | Monitoring a local area network | |
JP2016524700A (ja) | Wlanノードのロケーションを決定するためのオフロードされたポジショニングに関するシステムおよび方法 | |
CN104683173A (zh) | 一种异构物联网的检测系统及其方法 | |
KR20120027435A (ko) | 위치 정보의 확정 방법, 설비 및 시스템 | |
JP4771415B2 (ja) | 位置情報を含むビーコンフレームを送信するアクセスポイント、端末及びプログラム | |
WO2012001364A3 (en) | Enabling location - based services in wireless lan hotspots | |
WO2021174987A1 (zh) | 小基站覆盖系统 | |
CN112469044A (zh) | 一种异构终端的边缘接入管控方法及控制器 | |
CN110708763A (zh) | 一种调度方法、装置及计算机存储介质 | |
CN102711193A (zh) | 执行快速切换的装置和方法 | |
JP4046705B2 (ja) | 移動通信支援装置、移動通信端末および移動通信システム | |
CN114286202A (zh) | 一种加入LoRaWAN Mesh网关的LoRaWAN系统 | |
KR20140113239A (ko) | 신속한 이동 단말기의 무선 링크 설정을 위한 장치 | |
TW200503474A (en) | Information processing apparatus, client, wireless system, location detection system, explanation system, program, method for providing access point; method of network connection location detection explantion and for operating wireless system | |
CN110839259B (zh) | 一种业务终端与业务主站间的数据传输方法 | |
US6799051B1 (en) | Identification system for mobile transceivers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211123 Address after: 610095 No. 928, floor 9, building 1, No. 56, Tianhui middle street, high tech Zone, Chengdu, Sichuan Patentee after: CHENGDU ZOLBON TECHNOLOGY CO.,LTD. Address before: 610225 24 section 1 Xuefu Road, Southwest Airport Economic Development Zone, Chengdu, Sichuan Patentee before: CHENGDU University OF INFORMATION TECHNOLOGY |