wifi探针与服务器通信接口协议
版本号 | 修改内容 | 修改人 | 修改时间 |
v1.0 | 创建 | 许军 | 2015/8/6 |
v1.1 | 补充 | 许军 | 2015/8/24 |
v1.2 | 更改通信协议 | 许军 | 2015/12/10 |
名词解释
wifi探针:802.11中probe request frames
项目简介
wifi探针,可以感知wifi覆盖范围内的用户设备MAC地址(终端不用连接wifi),充分挖掘路由器的潜能,采集的是用户的线下行为轨迹。
802.11协议要求每个AP每隔一定时间(几十毫秒到几秒不等)向周围的sta和AP广播beacon帧,告诉周围的sta和AP:我是xxxx(bssid),快来连我!我是xxxx(bssid),快来连我!每个sta(可以理解为手机、笔记本)除了默默监听周围AP发送的beacon帧以外,还会偷偷发送probe帧:我是xxxx(mac地址),我能连你吗?我是xxxx(mac地址)我能连你吗?
在覆盖无线局域网的地方,开着WIFI的手机周期性地发出信号,无线局域网访问点(AP)接收到信号后,将信号传送给服务器。服务器根据信号的强弱或信号到达时差判断出手机的位置,并通过电子地图显示具体位置。
主动抓取用户数据,不需要用户连接我们的路由器,当顾客路过我们路由器的时候,路由器抓取顾客的MAC和路过的时间以及RSSI强度。
路由器采集附近出现的手机MAC和时间,保存第一次出现的时间和最后一次出现的时间。
每隔一段时间(由云平台下发)上报一次出现过的MAC地址手机的RSSI值。
系统构架
本文档主要涉及路由器和服务器之间的交互,和手机等客户端关联不大,使用http作为通信协议,json为数据格式。交互通过http协议,主要使用POST和GET方法上报和获取数据。
WIFI探针
服务器 | 例如http://r.idianjia.com/router/wifi_sense |
请求参数 | { "flag":"request_server", "mac":"6440f4538af6", "requestId":"ebc329a3-37fe-42ba-b581-d005af9801a8", --随机值, 所有请求中唯一. 用于鉴别请求, 支持的字符 a-zA-Z0-9_-} |
服务器返回参数 | { "flag":"request_server", "mac":"6440f4538af6", "requestId":"ebc329a3-37fe-42ba-b581-d005af9801a8", --随机值, 所有请求中唯一. 用于鉴别请求, 支持的字符 a-zA-Z0-9_-, "server_time":"1449736849",UTC时间,距1970-01-01的秒数 "report_interval":"60",上报周期,每60秒上报一次数据 } |
示例 | { "flag":"request_server", "mac":"6440f4538af6", "requestId":"ebc329a3-37fe-42ba-b581-d005af9801a8", "server_time":"1449736849", "report_interval":"60" } |
功能描述 | "rssiinfo":[ , , ]手机mac | 最大rssi出现时间 | 最大rssi | 最小rssi出现时间 | 最小rssi |
服务器 | 例如http://r.idianjia.com/router/wifi_sense |
请求参数 | { "flag":"report_rssi", "mac":"6440f4538af6", "requestId":"ebc329a3-37fe-42ba-b581-d005af9801a8", --随机值, 所有请求中唯一. 用于鉴别请求, 支持的字符 a-zA-Z0-9_-} "rssiinfo":[ , , ]手机mac | 最大rssi出现时间 | 最大rssi | 最小rssi出现时间 | 最小rssi
|
服务器返回参数 | 无 |
示例 | {"flag":"report_rssi","mac":"6440f4538af6","requestId":"ebc329a3-37fe-42ba-b581-d005af9801a8", "rssiinfo": [ "f025b756a1a9 | 1449736848 | -35 | 1449736855 | -48", "8c34fdd70cf3 | 1449736849 | -45 | 1449736849 | -50", "1499e2a66bce | 1449736856 | -68 | 1449736856 | -68", "ae1ba938f852 | 1449736857 | -74 | 1449736857 | -74", "0c1daf5de132 | 1449736857 | -59 | 1449736899 | -75", "24fd5285c397 | 1449736859 | -72 | 1449736859 | -72", "78d75f442a2b | 1449736862 | -37 | 1449736862 | -37", "d05349198818 | 1449736866 | -71 | 1449736866 | -71", "38b1db08d511 | 1449736867 | -69 | 1449736867 | -69", "9cf3872f0326 | 1449736870 | -51 | 1449736870 | -73", "ac387086d519 | 1449736870 | -71 | 1449736870 | -73", "949426f30f8b | 1449736873 | -59 | 1449736873 | -59", "8c34fd4eb2c9 | 1449736876 | -75 | 1449736876 | -75", "847a886dc0f2 | 1449736877 | -35 | 1449736877 | -36", "38bc1a1c0e5e | 1449736882 | -44 | 1449736887 | -47", "247703ce6dac | 1449736884 | -73 | 1449736884 | -73", "24fd521999ba | 1449736885 | -72 | 1449736885 | -72", "44d4e03a8b62 | 1449736886 | -37 | 1449736886 | -47", "b0df3ab4f3c9 | 1449736888 | -42 | 1449736888 | -45", "041e64f0cbfb | 1449736890 | -71 | 1449736890 | -71", "24050f65462f | 1449736903 | -40 | 1449736903 | -40" ] } |