WIFI快連技術介紹

2021-07-22 08:08:34 字數 3113 閱讀 6564

現在的智慧型硬體產品,以wifi品類居多,這些wifi硬體沒有人機互動介面,但裝置要上網肯定要配置ssid等相關資訊,於是wifi快連應運而生。

事實上在2023年,wifi聯盟就推出過簡單配置的協議規範《wifi ****** configure》,通過輸入pin碼或者按鍵來接入ap,這技術被稱為wps。可惜這個功能需要路由器支援,市面上一些路由器不支援,導致沒有大規模推行。

快連不需要路由器支援,且更加簡化,所以獲得了迅速的發展。

如圖1中,手機(裝置b)已經接入了ap,而裝置a是乙個資訊孤島(沒有足夠的人機互動方式,無法在裝置上輸入要連線ap的ssid和password)。於是依靠手機將ap的資訊直接傳送給裝置a,裝置a就可以接入ap了。

我們可以這樣認為,wifi快連就是接入ap的手機快速配置裝置,使其接入ap的方式。

乙個裝置在知道ap的ssid和password的情況下就可以連線到ap,而乙個沒有足夠的人機互動方式的裝置,如何知道ap的ssid和password就是wifi快連的核心。

當前的情況是,裝置沒有連線到任何ap,裝置上的wifi能進入混雜模式,能夠接收空中傳輸的wifi包,即使不是傳送給自己的資料報。在這種情況下,其它裝置就只有通過wifi空中傳輸,把ap的資訊發給需要快連的裝置。現在的問題來了,乙個裝置沒有連線ap或與其它裝置直接連線的情況下,wifi收到的資料報是加密的,沒辦法把資料解碼出來。如圖2為抓取的乙個廣播資料報的分解圖。

從圖2的資訊看,802.11的資料報整個都是加密的,沒辦法解密,所以想通過資料報的data段把ap的資訊傳給快連裝置是行不通的。那從上圖能夠獲取哪些資訊,並且這些資訊是可以由上層協議修改的,主要有下面兩個資訊:

1、 資料報的長度:資料報的長度隨著應用層封裝資料量的大小變化;

2、 destination mac:這個位址可以為廣播位址或組播位址,應用層可以修改組播ip來

達到修改destination mac中後3個位元組的值(如圖3為乙個ip組播包,ip位址與mac位址有一定對應關係);

從圖3中可以看到目的ip位址224.25.20.86(十六進製制為:e0:19:14:56),目的mac位址為:01:00:5e:19:14:56,ip位址的後3個位元組和mac位址的後3個位元組是完全一樣的。

有了這些資訊,就可以通過包的長度或組播位址把ap資訊編碼傳送,但乙個資料的資訊量有限,而ap的ssid及password還是需要不少位元組的,不是乙個資料報就能編碼的,那就需要傳遞一系列的資料報。傳遞一系列資料報時,有下面問題要解決:

1、 一系列資料報中,那個是第乙個包;

2、 一系列資料報的順序是怎麼的(由於wifi存在丟包重傳,接收到包的順序和傳送包的順序有時並不一樣);

上面兩個問題在後面章節中具體分析的時候再解釋是怎麼解決的。

wifi接收空中包時,會接收到大量裝置傳送的資料報,但可以通過source mac位址可以確認資料報是由同乙個裝置發出的。

由於快連時ap的資訊是通過空中傳輸的,任何裝置都可以獲取到這些資訊,若資訊不經過加密,只是簡單把資訊組織一下就傳送,就很容易被別人破解,帶來安全性問題,所以一般廠家都會對資訊進行加密再傳送,如圖4所示。

從圖4看到,傳送前經過加密,接收後再使用相同的秘鑰解密,由於這種加密資訊必須是要可解密的,所以加密方式及秘鑰等也是不能公開的,所以現在加解密部分原始碼,廠家都是不開放的,而且乙個廠家的加解密方式只能用於這個廠家的產品,不同廠家的產品是不能相互混用的。

realtek的wifi快連技術就是使用資料報長度進行編碼資訊的。如圖5~圖8為一次傳送的資料報,包含了前導的同步序列及48個不同長度的資料報。這些資料是在傳送端的機子

上抓取的,在接收端,是沒辦法解析出這個包是udp包及相關資訊的。

從資料分析,前面為16對資料報前導系列,長度分別為45和1068,後面跟著有效資訊資料報,這樣就解決了識別第乙個資料報的問題。後面連線著48個資料報,資料報的長度從63~819,所要編碼的資訊就在這48個長度值中。

這48個長度是指整個wifi包的長度,其中真實資訊是編碼在udp包中data長度中,先要計算出這48個包的data長度,如表1為48個包data長度的16進製制數。

再從表1中標紅的部分看,長度中高位字元用來表示包序號,序號從0x1~0x30,這樣就解決了包順序的問題,剩下的最後乙個字元就用來編碼ap資訊,對於這部分資訊是怎麼加密過來的,只有realtek自己知道了。

在mtk的方案中,採用的就是組播位址的方式實現ap資訊的傳送。如圖9、圖10所示,這些資料也是從傳送端機子抓取的,接收端是解釋不出udp資料及相關資訊的,但mac組播位址的後面3個位元組可以與ip組播位址的後面3個位元組對應上的。

從組播位址的包看,長度都是一樣的,但組播位址的規律還是比較明顯的,組播ip位址244.125.25.30應該是作為同步或分割符一類的作用,組播ip位址224.25.0.xx~224.25.29.xx,用來標識包序號及編碼資訊,ip位址中的第3個位元組是比較明顯的順序號,從0~29順序下來,ip位址中最後乙個位元組應該就是用來編碼ap的資訊了。

大快HanLP自然語言處理技術介紹

大快hanlp自然語言處理技術介紹 這段時間一直在接觸學習hadoop方面的知識,所以說對自然語言處理技術也是做了一些了解。網路上關於自然語言處理技術的分享文章很多,今天就給大家分享一下hanlp方面的內容。自然語言處理技術其實是所有與自然語言的計算機處理相關聯的技術的統稱,自然語言處理技術應用的目...

連網電腦發wifi訊號

開啟windows7的隱藏功能 虛擬wifi和softap 即虛擬無線ap 就可以讓電腦變成無線路由器,實現共享上網,節省網費和路由器購買費。具體操作如下 1 以管理員身份執行命令提示符 快捷鍵win r 輸入cmd 回車 2 啟用並設定虛擬wifi網絡卡 執行命令 netsh wlan set h...

ubuntu命令列連wifi

網上教程很多,我就是昨天裝軟體把系統裝崩了,今天一開機桌面沒了,網絡卡也沒了。沒辦法重灌ubuntu desktop,搗鼓半天,終於連上wifi了修復了。列舉你所有的網絡卡裝置。找到你的無線網絡卡,這裡是wlan2 iwconfig ip link setwlan2up 開啟無線網絡卡 iwlist...