目錄
在Wifi與AP進行四次握手前,需要進行Authentication(認證)和Association(關聯)操作。這裏梳理一下這兩個操作的流程。
認證:提供身份的校驗。
關聯:建立信息通信關係。
四次握手:確定後面通信過程中所使用到的各種祕鑰。關於四次握手,請參考領一篇文章:supplicant 四次握手流程
1.Authentication
framework層通過JNI接口,發送socket消息給Supplicant。
由如下的結構體,我們可以看到authenticate方法對應的是wpa_nl80211_authenticate。
接着往下看:
也就是說,supplicant在Authentication階段階段只是個通路,做核心的功能實現是在driver中。
2.Association
這個流程跟上一節是類似的,在這裏簡單說明:
與上層對應的消息是PRIVSEP_CMD_ASSOCIATE:
supplicant與driver通信也是通過socket,關鍵實現是在如下接口中:
3.總結
supplicant通過socket與驅動交互上報數據給用戶,而用戶可以通過socket發送命令給supplicant調動驅動來對WiFi芯片操作。 簡單的說,wpa_supplicant就是WiFi驅動和用戶的中轉站外加對協議和加密認證的支持。
如果感覺本文對您有益,請辛苦點個贊吧~
歡迎掃碼關注個人公衆號或者微信搜索wanwuhulianjishu(萬物互聯技術)