日期: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網絡。