Linux Wlan-四次握手(eapol)框架流程

協議基礎

基于 IEEE 802.1X 標準實現的協議

抓包基礎

使用上一章文章的TPLINK wn722n v1網卡在2.4G 頻段抓包(v2、v3是不支持混雜模式的)

eapol的四個交互流程

在這里插入圖片描述

  • 根據不同的認證模式不同,兩者的Auth流程有所不同,但是握手流程基本相似
    在這里插入圖片描述
    這個可以作為后面的文章方向,這里暫時不做拓展,當前只考慮PSK模式下的eapol

流程梳理前我們先需要流程圖,不然看完還是忘

在這里插入圖片描述

  • 粉色填充為說明
  • 藍色填充為流程
  • 紫色填充為密鑰生成與安裝

四次握手(eapol)流程

  1. message 1
    在這里插入圖片描述
    四次握手的第一條消息,由AP發送給客戶端,攜帶AP生成的ANonce
    此幀的核心作用:傳遞AP的ANonce

  2. message 2
    在這里插入圖片描述
    客戶端收到AP的ANonce后,結合自己的SNonce和PMK計算出PTK,并用KCK生成MIC
    此幀的核心作用:傳遞客戶端的SNonce和MIC,完成PTK的協商

  3. message 3
    在這里插入圖片描述
    驗證MIC并生成GTK(組密鑰)
    此幀的核心作用:要求客戶端安裝PTK(通過Install=1標志)和GTK,下發加密的GTK(組密鑰)供客戶端解密使用
    GTK加密:使用PTK的子密鑰 KEK(Key Encryption Key) 加密GTK,確保組密鑰傳輸安全
    客戶端收到Msg3后的流程:
    1)驗證MIC
    2)解密GTK(使用KEK)
    3)安裝PTK和GTK
    4)發送Msg4(確認幀)完成握手

  4. message 4
    在這里插入圖片描述
    AP收到Msg4后,確認握手完成,雙方開始使用PTK/GTK加密所有數據流量
    此幀的核心作用::通過MIC驗證Msg3的完整性,通知AP已成功安裝密鑰(PTK和GTK)

  5. 客戶端回復Msg4后,雙方開始使用PTK/GTK加密所有流量

一個小的流程圖說明一下

完整的四次握手流程如下:

  1. Msg1:AP → 客戶端(ANonce)
  2. Msg2:客戶端 → AP(SNonce + MIC)
  3. Msg3:AP → 客戶端(GTK + MIC + 安裝指令)
  4. Msg4:客戶端 → AP(最終確認)

至此,WPA2-PSK認證流程全部完成,安全通信通道建立

疑問

  1. 當client把wifi密碼輸入錯誤,eapol流程會在第幾個流程報錯?
    抓包分析:
    在這里插入圖片描述
    只有這兩個流程,并未觸發mesg 3
    錯誤原因
    密碼錯誤 → 客戶端計算的PMK與AP的PMK不同 → 派生出的PTK不一致 → MIC校驗失敗
    所以只有一二階段,無法正常進行第三次握手
  2. 為什么二三四的握手包,里面的MIC值都不一樣?
    在這里插入圖片描述
    在這里插入圖片描述
    在這里插入圖片描述
    原因分析:MIC 值不同是因為每條消息的內容和用途不同,使用PTK的子密鑰 KCK(Key Confirmation Key) 對幀內容生成哈希,所以值會不同
  3. 用戶態和內核態在eapol中起的作用是什么?
    1)EAPOL 流程控制主要在 wpa_supplicant(用戶態),負責協議邏輯和密鑰管理
    2)驅動(內核態)僅負責執行硬件操作(如安裝密鑰、收發幀)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/76645.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/76645.shtml
英文地址,請注明出處:http://en.pswp.cn/web/76645.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

基于亞馬遜云科技 Amazon Bedrock Tool Use 實現 Generative UI

背景 在當前 AI 應用開發浪潮中,越來越多的開發者專注于構建基于大語言模型(LLM)的 chatbot 和 AI Agent。然而,傳統的純文本對話形式存在局限性,無法為用戶提供足夠直觀和豐富的交互體驗。為了增強用戶體驗&#xff…

第 2 篇:初探時間序列 - 可視化與基本概念

第 2 篇:初探時間序列 - 可視化與基本概念 (圖片來源: Luke Chesser on Unsplash) 在上一篇《你好,時間序列!》中,我們了解了什么是時間序列數據以及學習它的重要性。現在,是時候卷起袖子,真正開始接觸和探…

Linux服務器配置Anaconda環境、Pytorch庫(圖文并茂的教程)

引言:為了方便后續新進組的 師弟/師妹 使用課題組的服務器,特此編文(ps:我導從教至今四年,還未招師妹) ? NLP 研 2 選手的學習筆記 筆者簡介:Wang Linyong,NPU,2023級&a…

Spring-AOP分析

Spring分析-AOP 1.案例引入 在上一篇文章中,【Spring–IOC】【https://www.cnblogs.com/jackjavacpp/p/18829545】,我們了解到了IOC容器的創建過程,在文末也提到了AOP相關,但是沒有作細致分析,這篇文章就結合示例&am…

【Python網絡爬蟲開發】從基礎到實戰的完整指南

目錄 前言:技術背景與價值當前技術痛點解決方案概述目標讀者說明 一、技術原理剖析核心概念圖解核心作用講解關鍵技術模塊技術選型對比 二、實戰演示環境配置要求核心代碼實現(10個案例)案例1:基礎靜態頁面抓取案例2:動…

服務器監控軟件推薦

以下是幾款常用的服務器監控軟件推薦,涵蓋開源和商業方案,適用于不同規模和需求: 一、開源免費方案 Prometheus Grafana 特點:時序數據庫 可視化儀表盤,支持多維度監控和告警。適用場景:云原生、Kubernet…

編譯原理實驗(四)———— LR(1)分析法

一、實驗目的 掌握LR(1)分析法的基本原理與實現流程。通過構造LR(1)分析表,驗證符號串是否符合給定文法規則。理解LR(1)分析中向前搜索符(Lookahead Symbol)的作用,解決移進-歸約沖突。 二、實驗題目 1.對下列文法,用…

vue3 主題模式 結合 element-plus的主題

vue3 主題模式 結合 element-plus的主題 npm i element-plus --save-dev在 Vue 3 中,實現主題模式主要有以下幾種方式 1.使用 CSS 變量(自定義屬性) CSS 變量是一種在 CSS 中定義可重用值的方式。在主題模式中,可以將顏色、字體…

科大訊飛Q1營收46.6億同比增長27.7%,扣非凈利同比增長48.3%

4月21日盤后,AI龍頭科大訊飛(002230.SZ)發布2024年報,公司全年實現營業收入233.43億元,同比增長18.79%,同期歸母凈利潤為5.6億元。 公司核心賽道業務保持快速增長,消費者、教育、汽車、醫療業務…

Day5-UFS總結

UFS 傳輸協議的本質:兩個收發器件,對需要傳輸的數據,一層一層的封裝和解析,利用封裝增加的額外信息,做一些數據處理,完成源地址到目標地址的數據傳輸功能。 應用協議的本質:基于某種傳輸協議之…

嵌入式工程師( C / C++ )筆試面試題匯總

注:本文為 “嵌入式工程師筆試面試題” 相關文章合輯。 未整理去重。 如有內容異常,請看原文。 嵌入式必會 C 語言筆試題匯總 Z 沉浮 嵌入式之旅 2021 年 01 月 19 日 00:00 用預處理指令 #define 聲明一個常數,用以表明 1 年中有多少秒&a…

29-JavaScript基礎語法(函數)

知識目標 理解函數的基本概念;掌握函數的定義和調用;理解函數參數和返回值及作用域;掌握函數高階用法。 1. 理解函數的基本概念 明確函數在 JavaScript 里是一段可重復使用的代碼塊,它能接收輸入參數,執行特定任務&…

AI答題pk機器人來襲

AI答題PK機器人是一種具備知識問答競賽功能的人工智能程序。以下為您詳細介紹: 一、實時對戰:能在答題排位PK升級賽中,與用戶進行1V1在線實時PK答題 。比如在一些知識競賽類APP中,用戶可匹配到AI機器人對手,在規定時…

PclSharp ——pcl的c#nuget包

簡介: NuGet Gallery | PclSharp 1.8.1.20180820-beta07 下載.NET Framework 4.5.2 Developer Pack: 下載 .NET Framework 4.5.2 Developer Pack Offline Installer 離線安裝nupkg: nupkg是visual studio 的NuGet Package的一個包文件 安…

【Unity筆記】Unity音視頻播放監聽器封裝筆記:VideoPlayer + AudioSource事件觸發與編輯器擴展

關鍵點 Unity VideoPlayer 播放結束事件Unity AudioSource 播放檢測 Unity音視頻播放監聽器封裝筆記:VideoPlayer AudioSource事件觸發與編輯器擴展 在 Unity 的多媒體開發中,我們經常需要監聽 VideoPlayer 或 AudioSource 的播放狀態,以便…

WPF常用技巧匯總

主要用于記錄工作中發現的一些問題和常見的解決方法。 此文會持續更新。 >abp new Evan.MyWpfApp -t wpf --old --framework .net8 1. 解決不同屏幕分辨率下的鋸齒問題 UseLayoutRounding"True" <Grid UseLayoutRounding"True"><Border Mar…

分數線降低,25西電馬克思主義學院(考研錄取情況)

1、馬克思主義學院各個方向 2、馬克思主義學院近三年復試分數線對比 學長、學姐分析 由表可看出&#xff1a; 1、馬克思主義理論25年相較于24年下降10分&#xff0c;為355分 3、25vs24推免/統招人數對比 學長、學姐分析 由表可看出&#xff1a; 1、 馬克思主義學院25年共接…

【Linux網絡】構建UDP服務器與字典翻譯系統

&#x1f4e2;博客主頁&#xff1a;https://blog.csdn.net/2301_779549673 &#x1f4e2;博客倉庫&#xff1a;https://gitee.com/JohnKingW/linux_test/tree/master/lesson &#x1f4e2;歡迎點贊 &#x1f44d; 收藏 ?留言 &#x1f4dd; 如有錯誤敬請指正&#xff01; &…

【項目管理】成本類計算 筆記

項目管理-相關文檔&#xff0c;希望互相學習&#xff0c;共同進步 風123456789&#xff5e;-CSDN博客 &#xff08;一&#xff09;知識總覽 項目管理知識域 知識點&#xff1a; &#xff08;項目管理概論、立項管理、十大知識域、配置與變更管理、績效域&#xff09; 對應&…

div(HTML標準元素)和view(微信小程序專用組件)的主要區別體

div&#xff08;HTML標準元素&#xff09;和view&#xff08;微信小程序專用組件&#xff09;的主要區別體現在以下方面&#xff1a; 一、應用場景與開發框架 ?適用平臺不同? div是HTML/CSS開發中通用的塊級元素&#xff0c;用于Web頁面布局?&#xff1b;view是微信小程序專…