【問題現象】
筆記本電腦連接着802.1x 認證的WiFi 網絡,在漫遊過程中無線網卡出現歎号并且無法上網。
【詳細分析】
以下抓包以無線網卡mac地址為D46D-6D49-86E4的筆記本電腦為例。
第一次上線1、網卡第一次上線的時候,先進行802.11協議的接入協商
2、在接入協商中,網卡發送assoc Req報文,攜帶網卡的參數發送給接入點。網卡由于是第一次上線,因此網卡的參數中不攜帶認證信息,如下圖,PMKID位置為空。
3、此時,接入點判定終端需要進行1x協商,因此接入點會發送EAP request報文,終端發送EAP start,雙方開始1x認證協商,後續通過一系列EAP報文交互完成協商過程。
4、在1x認證協商通過之後,雙方會通過EAPOL-Key報文進行密鑰協商(如下圖紅框所示)。
5、密鑰協商成功之後,終端數據開始放通,終端此時正式上線成功。
正常漫遊時1、當網卡漫遊時,仍然需要先進行802.11協議的接入協商
2、在接入協商中,網卡發送reassoc Req報文,攜帶網卡的參數發送給接入點。由于網卡判定前次上線時進行過1x認證,因此網卡在本次報文中攜帶了上一次認證時協商的關鍵信息PMKID(見下圖紅框)。
3、接入點獲取到終端攜帶的PMKID信息後,通過一系列計算,可以直接驗證終端的身份,如果身份驗證ok,接入點會跳過1x認證協商過程,直接跟給終端發起密鑰協商。如下圖,reassoc rsp之後緊跟着就是EAPOL-Key過程。
4、密鑰協商成功之後,終端流量可以正常放通,終端此時漫遊成功。
終端漫遊時出現歎号的情況1、終端漫遊的時候,同樣進行了802.11協議的接入協商
2、但在接入協商時,終端在reassoc Req報文中攜帶的認證參數為空。
3、此時,接入點無法判斷終端的身份,因此發送EAP request報文,要求終端進行1x認證。但網卡沒有任何反應,導緻1x認證過程始終無法完成。如下圖所示,接入點連續3次重傳EAP Request報文,終端都沒有發送任何報文,導緻終端上線超時,接入點發送deauth踢終端下線。
4、出現問題時持續進行抓包發現,終端由于漫遊失敗,實際上存在多次反複重新上線過程,但每一次終端既沒有攜帶認證信息,也不重新進行認證過程,導緻終端一段時間内持續處于歎号無法上網狀态。
【建議】
方法一:應排查筆記本電腦的操作系統中對1x認證的相關處理。
1、正常漫遊應該攜帶PMKID信息;
2、如果不攜帶PMKID信息,應該正常進行1x認證交互。
方法二:檢查筆記本電腦的無線網卡驅動,升級到最新的無線網卡驅動版本。
,