Air Kiss(飞吻)技术实现方案 一、Air Kis s 技术原理简介 802
11 是IEEE 制定的无线局域网协议,802
11 以802
2 的逻辑链路控制封装来携带IP 封包,因此能够以802
2 SNAP 格式接收无线网络数据
如果开启wifi 芯片的混杂模式监听空间中的无线信号,并以802
2 SNAP 格式从数据链路层截取数据,就会得到如下图所示的数据包: 38-1492bytes 6bytes 6bytes 2bytes 3bytes 5bytes 4bytes 802
2 SNAP 格式数据包 DA 字段表示目标mac 地址,SA 字段表示源mac 地址,Length 字段表示后面数据的长度,LLC 字段表示LLC 头,SNAP 字段包括3bytes的厂商代码和2bytes的协议类型标识,DATA 字段为负载,对于加密信道来说是密文的,FCS 字段表示帧检验序列
从无线信号监听方的角度来说,不管无线信道有没有加密,DA、SA、Length、LLC、SNAP、FCS 字段总是暴露的,因此信号监听方便有了从这 6 个字段获取信息的可能
但从发送方的角度来说,由于操作系统的限制(比如ISO 或者Android),DA、SA、LLC、SNAP、FCS 五个字段的控制需要很高的控制权限,发送方一般是很难拿到的
因此只剩下Length 这一字段,发送方可以通过改变其所需要发送数据包的长度进行很方便的控制
所以,只要制定出一套利用长度编码的通信协议,就可利用 802
2 SNAP 数据包中的Length 字段进行信息传递
在实际应用中,我们采用 UDP 广播包作为信息的载体
信息发送方向空间中发送一系列的UDP 广播包,其中每一包的长度(即 Length 字段)都按照 Air Kiss通信协议进行编码,信息接收方利用混杂模式监听空间中的无线信号,并从数据链路层截