<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                wpa_supplicant[^①]是一個開源軟件項目,它實現了Station[1]對無線網絡進行管理和控制的功能。根據官方[2]描述,wpa_supplicant所支持的功能非常多,此處列舉其中幾個重要的功能點。 **1)支持WPA和IEEE 802.11i所定義的大部分功能**: 這部分功能集中在安全方面,包括: * 支持WPA-PSK(即WPA-Personal)和WPA-Enterprise(即利用RAIDUS認證服務器來完成身份認證的情況)。 * 數據加密方面支持CCMP、TKIP、WEP104和WEP40。注意,WEP104和WEP40中的數字代表密鑰的長度。104表示密鑰長度為104個二進制位(如以ASCII字符個數來計算的話,WEP104支持的密鑰長度為13個ASCII字符)。 * 完全支持WPA和WPA2,包括PMKSA緩存,預認證(pre-authentication)等功能。 * 支持IEEE 802.11r和802.11w,其中802.11r規范定義了快速基礎服務轉移(Fast Transition)功能,而802.11w則新增了對管理幀的安全保護機制。 * 支持WFA制定的Wi-Fi Proctected Setup功能、P2P、TDLS等。 **2)支持多種EAP Method**: 主要和802.1X中Supplicant的功能有關,wpa_supplicant支持多達25種EAP Method,包括: * EAP-TLS:TLS(Transport Layer Security)本身是一種傳輸層安全協議,它利用密鑰算法提供端點身份認證與通訊保密,其基礎是公鑰基礎設施(public key infrastructure,簡稱PKI)。EAP-TLS定義于RFC 5216。 * EAP-PEAP:PEAP(Protected Extensible Authentication Protocol,可擴展EAP)由微軟、思科以及RSA Security三個公司共同開發,是一種利用證書加用戶名和密碼來進行身份驗證的方法。 * EAP-TTLS:它是TLS的拓展,全名為Tunneled Transport Layer Security(隧道傳輸層安全協議),相比TLS,它簡化了認證過程中客戶端的工作。 * EAP-SIM、EAP-PSK、EAP-GPSK等其他認證方法。 **提示**:讀者可閱讀參考資料[1]以了解更多EAP方法的知識。 **3)對各種無線網卡和驅動的支持**: * 支持nl80211/cfg80211驅動和Linux Wireless Extension驅動[^②]。 * 支持Windows平臺中的NDIS驅動。 **提示**:wpa_supplicant雖然支持Windows平臺,但筆者相信絕大多數讀者使用的都是Windows自帶的無線網絡管理程序(或者Intel芯片相關軟件提供的無線網絡管理程序)。從功能角度來說,讀者可認為wpa_supplicant是這些私有程序的一種開源實現。 Android做為開源世界的集大成者,它在無線網絡管理和控制方面直接使用了wpa_supplicant。Android 4.1中,external目錄下有兩個和wpa_supplicant相關的目錄,分別是wpa_supplicant_6和wpa_supplicant_8。6和8分別代表對應wpa_supplicant的版本號為0.6.10和2.0-devel。 **提示**:關于wpa_supplicant的發布歷史,請讀者參考http://hostap.epitest.fi/releases.html。 本書的分析目標是wpa_supplicant_8,它包含三個主要子目錄,分別是: * **hostapd**:當手機進入SoftAP模式時,手機將扮演AP的角色,故需要hostapd來提供AP的功能。 * **wpa_supplicant**:Station模式,也叫Managed模式。它是本書分析的重點。 * **src**:hostapd和wpa_supplicant中都包含了一些通用的數據結構和處理方法,這些內容都放在此src目錄中。注意,hostapd/src和wpa_supplicant/src子目錄均鏈接到此src目錄。 wpa_supplicant是Android用戶空間中無線網絡部分的核心模塊,所有Framework層中和Wi-Fi相關的操作最終都將借由wpa_supplicant來完成。另外,wpa_supplicant本身對802.11、802.1X和Wi-Fi Alliance定義的一些規范都有極好的支持。所以,分析它將是加深理解802.11及相關理論知識的一個非常重要的途徑。 本章擬打算帶領讀者從兩條分析路線來掌握wpa_supplicant和相關的功能模塊。 * **路線一**:首先將介紹wpa_supplicant的初始化過程。這條路線將幫助讀者了解wpa_supplicant中常見的數據結構及之間的關系。這條路非常難走,請讀者做好心理準備。 * 路線二:我們將通過命令行發送命令的方式觸發wpa_supplicant進行相關工作,使得手機加入一個利用WPA-PSK進行認證的無線網絡。這條路線將幫助讀者了解wpa_supplicant中的命令處理、scan、association、4-way handshake等相關處理流程。 **提示**:后續章節還將圍繞Android中無線網絡技術開展更多的討論: 1)第5章將介紹Android Framework中的WifiService及其相關模塊。 2)第6、7章節將繼續wpa_supplicant之旅,其內容和WPS、Wi-Fi P2P以及WifiP2pService有關。 為了行文方便,本書將用WPAS來表示wpa_supplicant。另外,后文代碼分析中還能見到一種重要的數據結構,它也叫wpa_supplicant。請讀者根據上下文信息來理解wpa_supplicant的含義。 正式開始分析之旅前,我們先來簡單了解下wpa_supplicant。 [^①]:注意,wpa_supplicant項目中還包含一個名為hostapd程序的代碼,它實現了AP的功能,本書不討論。官方地址為http://hostap.epitest.fi/。 [^②]:根據審稿專家的反饋,wpa_supplicant僅支持Linux Wireless Extension V19以后的版本。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看