日期:2024-08-19 18:11:20 编辑: 浏览:
随着移动互联网和物联网技术的迅猛发展,越来越多的设备具备了无线网络接入能力,推动了物联网进入了一个爆发式增长阶段。这些设备的共同特点是体积小、功耗低,且大多数设备没有配备屏幕和键盘。因此,将设备连接到网络成为一个相对棘手的问题。为了解决这个问题,AirKiss技术应运而生。通过该技术,无需借助任何外设,已经连接到AP的设备可以直接向未连接AP的设备传输SSID和密码。类似的设备有智能手环、无线监控和智能相册等。
首先,让我们了解一下什么是AirKiss——
AirKiss是微信硬件平台为WiFi设备提供的一种微信配网、局域网发现和局域网通讯技术。如果开发者希望通过微信客户端为WiFi模块配网、在局域网发现WiFi设备,或者将微信客户端内的音乐、图片、文件等消息通过局域网发送至WiFi模块,他们需要在硬件设备中集成相应的AirKiss静态库。通过这种技术,可以方便地将WiFi的SSID和密码等配网信息传递给具有WiFi功能的设备。
在嵌入式设备或没有交互功能的智能设备需要连接网络时,用户可以通过手机将设备需要配网的AP信息发送到空中。一旦WiFi模块捕获到这些信息,它就可以通过解析获取所需的SSID和密码。示意图如下所示:
WiFi模块AirKiss配网的基本原理
当WiFi模块进入WiFi混杂模式(promiscuous mode)以监听并捕获周围的WiFi报文时,由于设备尚未联网,且WiFi网络的数据帧已加密,设备无法直接获取payload的内容。然而,它可以获取报文的一些特征数据,例如每个报文的长度。同时,对于某些数据帧,如UDP广播包或多播包,其报文的帧头结构较为固定,较容易识别。
此时,在手机App或小程序侧,用户可以通过发送UDP广播包或多播包,并利用报文的特征(如长度变化)进行编码。接着,将目标WiFi路由器的SSID/PSW字符以约定的编码方式发送出去。在设备端捕获到UDP报文后,按照约定的方式进行解码,即可获得目标WiFi路由器的相关信息并实现联网。
WiFi模块AirKiss配网的基本流程如下:
1.WiFi模块能够以混杂模式sniffer运行;
2.用户在手机上安装微信客户端或其他含有该协议的应用;
3.WiFi模块通过抓包获取手机上发送的SSID和密码,然后连接到无线WiFi网络。