目录
在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(万物互联技术)