802.11幀的三種類型:
管理幀:負責監督,主要用來加入或退出無線網絡,以及處理基站之間連接的轉移事宜。
控制幀:與數據幀搭配使用,負責區域的清空、信道的取得以及載波監聽的維護,並於收到數據時予以正面的應答,借此促進工作站間數據傳輸的可靠性。
數據幀:好比 802.11 的馱馬,負責在工作站之間傳輸數據。
1、管理幀
(Beacon(信標)幀)
(Probe Request(探測請求)幀)
(Probe Response(探測響應)幀)
(ATIM幀)
(Disassociation(解除關聯)與Deauthentication(解除認證)幀)
(Association Request(關聯請求)幀)
(Reassociation Request(重新關聯請求)幀)
(Authentication(身份認證)幀)
1. 幀控制結構(Frame Control)
1) Protocol Version: (協議版本)通常為0
2) Type: 幀類型,管理幀: 00
3) Subtype: 進一步判斷幀的子類型
3.1) Beacon(信標)幀
3.2) Probe Request(探測請求)幀
3.3) Probe Response(探測響應)幀
3.4) ATIM幀
3.5) Disassociation(解除關聯)
3.6) Deauthentication(解除認證)幀
3.7) Association Request(關聯請求)幀
3.8) Reassociation Request(重新關聯請求)幀
3.9) Authentication(身份認證)幀
4) To DS: 表明該幀是否是BSS向DS發送的幀
5) From DS: 表明該幀是否是DS向BSS發送的幀
6) More Fragment: 用於說明長幀被分段的情況,是否還有其它的幀,如果有則該值設置為1
7) Retry(重傳域): 表示該分段是先前傳輸分段的重發幀。
8) Power Management: 表示傳輸幀以后,站所采用的電源管理模式
8.1) 為1: STA處於power_save模式
8.2) 為0: STA處於active模式
9) More Data: 表示有很多幀緩存到站中。即至少還有一個數據幀要發送給STA是設置為1。
10) Protected Frame: 表示根據WEP(Wired Equivalent Privacy)算法對幀主體進行加密。如果幀體部分包含被密鑰套處理過的數據,則設置為1,否則設置為0
11) Order(序號域): 在長幀分段傳送時,該域設置為1表示接受者應該嚴格按照順序處理該幀,否則設置為0
2. Duration/ID(持續時間/標識)
表明該幀和它的確認幀將會占用信道多長時間,Duration 值用於網絡分配向量(NAV)計算
3. Address Fields(地址域):
1) Destination Address
2) Source Address
3) BSS ID
4. Sequence Control(序列控制域): 用於過濾重復幀
1) MSDU(MAC Server Data Unit), 12位序列號(Sequence Number)
2) MMSDU(MAC Management Server Data Unit), 4位片段號(Fragment Number)組成
5. Frame Body(Data): 發送或接收的信息。對於不同類型的數據幀來說,這個域的格式差別較大
1) Beacon(信標)幀
1.1) Timestamp(時戳)位: 可用來同步 BSS 中的工作站 BSS 的主計時器會定期發送目前已作用的微秒數。當計數器到達最大值時,便會從頭開始計數
1.2) Beacon interval位: AP點每隔一段時間就會發出的Beacon(信標)信號,用來宣布 802.11網絡的存在。我們打開無線連接的時候之所以能看到很多Wi-Fi點就是因為它
1.3) Capability information位: 發送Beacon信號的時候,它被用來通知各方,該網絡具備哪種性能
1.4) SSID服務集標識(Service Set Identity): 由字節所形成的字串,用來標示所屬網絡的BSSID,即我們在Wi-Fi連接前看到的接入點名稱
1.5) 跳頻參數組合(PH Parameter Set): 包含了加入 802.11跳頻(frequency-hopping)網絡所需要的參數
1.6) 直接序列參數集合(DS Parameter Set): 指明網絡所使用的信道數
1.7) 免競爭參數集合(CF Parameter Set): 出現在支持免競爭接入點所發送的 Beacon幀中,並非必須
1.8) IBSS 參數集合(IBSS Parameter Set): 指明ATIM window (數據待傳指示通知信息間隔期間)
1.9) TIM數據待傳信息(Traffic Indication Map): 指示有哪些工作站需要接收待傳數據
1.10) Country: 國家識別碼
1.11) 功率限制(Power Constraint): 讓網絡得以向工作站傳達其所允許的最大傳輸功率
1.12) 信道切換宣告(Channel Switch Announcement): 為了警告網絡中的工作站即將變換信道
1.13) 禁聲(Quiet): 為了避免與特定的軍事雷達技術彼此干擾
1.14) 發射功率控制報告(TPC Report): 指明鏈路的衰減情況,可以幫助工作站了解該如何調整傳輸功率
1.15) 擴展物理層(ERP)
1.16) 支持速率(Supported Rates): 無線局域網絡支持數種標准速率。當移動工作站試圖加入網絡,會先檢視該網絡所使用的數據速率。有些速率是強制性的,每部工作站都必須支持
,有些則是選擇性的
1.17) RSN強健安全網絡(Robust Security Network)
2) Probe Request(探測請求)幀
2.1) SSID服務集標識(Service Set Identity): 由字節所形成的字串,用來標示所屬網絡的BSSID,即我們在Wi-Fi連接前看到的接入點名稱
2.2) Supported Rate(支持速率)
2.3) 擴展支持速率(Extended Supported Rate)
3) Probe Response(探測響應)幀
3.1) Timestamp(時戳)位: 可用來同步 BSS 中的工作站 BSS 的主計時器會定期發送目前已作用的微秒數。當計數器到達最大值時,便會從頭開始計數
3.2) Beacon interval位: AP點每隔一段時間就會發出的Beacon(信標)信號,用來宣布 802.11網絡的存在。我們打開無線連接的時候之所以能看到很多Wi-Fi點就是因為它
3.3) Capability information位: 發送Beacon信號的時候,它被用來通知各方,該網絡具備哪種性能
3.4) SSID服務集標識(Service Set Identity): 由字節所形成的字串,用來標示所屬網絡的BSSID,即我們在Wi-Fi連接前看到的接入點名稱
3.5) 支持速率(Supported Rates): 無線局域網絡支持數種標准速率。當移動工作站試圖加入網絡,會先檢視該網絡所使用的數據速率
3.6) 跳頻參數組合(PH Parameter Set): 包含了加入 802.11跳頻(frequency-hopping)網絡所需要的參數
3.7) 直接序列參數集合(DS Parameter Set): 指明網絡所使用的信道數
3.8) 免競爭參數集合(CF Parameter Set): 出現在支持免競爭接入點所發送的 Beacon幀中,並非必須
3.9) IBSS 參數集合(IBSS Parameter Set): 指明ATIM window (數據待傳指示通知信息間隔期間)
3.10) Country: 國家識別碼
3.11) FH Hopping Parameters
3.12) FH Pattern Table
3.13) 功率限制(Power Constraint): 讓網絡得以向工作站傳達其所允許的最大傳輸功率
3.13) 信道切換宣告(Channel Switch Announcement): 為了警告網絡中的工作站即將變換信道
3.14) 禁聲(Quiet): 為了避免與特定的軍事雷達技術彼此干擾
3.15) IBSS 動態選項(IBSS DFS):在 IBSS 中負責動態選頻的工作站可以在管理幀中傳遞 IBSS DFS 信息元素
3.16) 發射功率控制報告(TPC Report): 指明鏈路的衰減情況,可以幫助工作站了解該如何調整傳輸功率
3.17) 擴展物理層(ERP)
3.18) 擴展支持速率(Extended Supported Rate)
3.19) RSN強健安全網絡(Robust Security Network)
4) ATIM幀
5) Disassociation(解除關聯)
5.1) Beacon Code
6) Deauthentication(解除認證)幀
6.1) Beacon Code
7) Association Request(關聯請求)幀
7.1) Capability information位: 發送Beacon信號的時候,它被用來通知各方,該網絡具備哪種性能
7.2) Listen interval位: 為了節省電池的電力,工作站可以暫時關閉 802.11網絡接口的天線。當工作站處於休眠狀態,接入點必須為之暫存幀
7.3) SSID服務集標識(Service Set Identity): 由字節所形成的字串,用來標示所屬網絡的BSSID,即我們在Wi-Fi連接前看到的接入點名稱
7.4) Supported Rate(支持速率)
8) Reassociation Request(重新關聯請求)幀
8.1) Capability information位: 發送Beacon信號的時候,它被用來通知各方,該網絡具備哪種性能
8.2) Listen interval位: 為了節省電池的電力,工作站可以暫時關閉 802.11網絡接口的天線。當工作站處於休眠狀態,接入點必須為之暫存幀
8.3) Current AP Address位: 使用Current AP Address(目前接入點的地址)位來表明目前所連接的接入點的 MAC地址
8.4) SSID服務集標識(Service Set Identity): 由字節所形成的字串,用來標示所屬網絡的BSSID,即我們在Wi-Fi連接前看到的接入點名稱
8.5) Supported Rate(支持速率)
9) Authentication(身份認證)幀
9.1) Authentication Algorithm Number: 指明認證程序所使用的認證類型
9.2) Authentication Transaction Sequence Number: 用以追蹤身份認證的進度
9.3) Status Code: 狀態代碼用來表示某項過程成功或失敗
9.4) 質詢口令(Challenge Text): 802.11所定義的共享密鑰身份認證系統。會要求移動工作站必須成功解碼一段加密過的質詢口令。這段質詢口令的發送系通過 Challenge Text
(質詢口令)信息元素
6. FCS(CRC): 包括32位的循環冗余校驗(CRC),用於檢錯,注意是檢錯不是糾錯
2、控制幀
(RTS幀,控制幀的一種)
(CTS幀,控制幀的一種)
(ACK幀,控制幀的一種)
(PS-Poll幀)
1. 幀控制結構(Frame Control)
1) Protocol Version: (協議版本)通常為0
2) Type: 幀類型,控制幀: 01
3) Subtype: 進一步判斷幀的子類型:
控制幀
3.1) 請求發送(Request To Send,RTS)數據包
3.2) 清除發送(Clear To Send,CTS)數據包
數據幀
3.3) ACK確認(RTS/CTS)
3.4) PS-Poll: 當一部移動工作站從省電模式中蘇醒,便會發送一個 PS-Poll 幀給基站,以取得任何暫存幀
4) To DS: 表明該幀是BSS向DS發送的幀時,該值設置為1
5) From DS: 表明該幀是DS向BSS發送的幀時,該值設置為1
控制幀負責處理無線介質的訪問,因此只能夠由無線工作站產生。傳輸系統並不會收送控制幀,因此這兩個Bit必然為0
6) More Fragment: 用於說明長幀被分段的情況,是否還有其它的幀,如果有則該值設置為1。
控制幀不可能被切割,這個Bit必然為0
7) Retry(重傳域): 表示該分段是先前傳輸分段的重發幀。
控制幀不像管理或數據幀那樣,必須在序列中等候重送,因此這個 Bit必然為0
8) Power Management: 表示傳輸幀以后,站所采用的電源管理模式
8.1) 為1: STA處於power_save模式
8.2) 為0: STA處於active模式
9) More Data: 表示有很多幀緩存到站中。即至少還有一個數據幀要發送給STA是設置為1。
More Data bit只用於管理數據幀,在控制幀中此Bit必然為0
10) Protected Frame: 表示根據WEP(Wired Equivalent Privacy)算法對幀主體進行加密。如果幀體部分包含被密鑰套處理過的數據,則設置為1,否則設置為0。
控制幀不會經過加密。因此對控制幀而言,Protected Frame bit必然為0。
11) Order(序號域): 在長幀分段傳送時,該域設置為1表示接受者應該嚴格按照順序處理該幀,否則設置為0。
控制幀是基本幀交換程序(atomic frame exchange operation)的組成要件,因此必須依序發送。所以這個Bit必然為0
2. Duration/ID(持續時間/標識)
表明該幀和它的確認幀將會占用信道多長時間,Duration 值用於網絡分配向量(NAV)計算。
注意: 在PS-Poll幀中不包含Duration/ID這個字段
3. Address Fields(地址域):
這個域的具體格式和控制幀的子類型有關,不同的子類型會有一些微小的差別
3.1) RTS(請求發送幀)
3.1.1) Receiver Address(接收端地址)
接收大型幀的工作站的地址
3.1.2) Transmitter Address(發送端地址)
RTS幀的發送端的地址
3.2) CTS(允許發送)
3.2.1) Receiver Address(接收端地址)
3.3) ACK(應答)
3.3.1) Receiver Address(接收端地址)
3.4) PS-Poll(省電模式一輪詢)
3.4.1) AID(連接識別碼 association ID)
連接識別碼是接入點所指定的一個數值,用以區別各個連接。將此識別碼置入幀,可讓接入點找出為其(移動工作站)所暫存的幀
3.4.2) BSSID
此位包含發送端目前所在 BSS(AP)的BSSID ,此BSS 建立自目前所連接的AP
3.4.3) Transmitter Address(發送端地址)
此為PS-Poll幀之發送端的 MAC地址
4. FCS(CRC): 包括32位的循環冗余校驗(CRC),用於檢錯,注意是檢錯不是糾錯
3.數據幀
(IBSS 數據幀的一種)
(接入點發送(From AP)的幀,數據幀的一種)
(發送至接入點(To AP)的幀,數據幀的一種)
(WDS幀,數據幀的一種)
1. 幀控制結構(Frame Control)
1) Protocol Version: (協議版本)通常為0
2) Type: 幀類型,數據幀: 10
3) Subtype: 進一步判斷幀的子類型,不同類型的數據幀這個字段的格式是不同的
3.1) IBSS幀
3.1.1) 0000: Data
3.1.2) 0010: Null
3.2) From AP幀
3.2.1) 0000: Data
3.2.2) 1000: Data+CF+ASK
3.2.3) 0100: Data+CF+Poll
3.2.4) 1100: Data+CF+ACK+CF+Poll
3.2.5) 1010: CF+ACK
3.2.6) 0110: CF+Poll
3.2.7) 1110: ACK+CF+Poll
3.3) To AP幀
3.3.1) 0000: Data
3.3.2) 1000: Data+CF+ACK
3.3.3) 0010: Null
3.3.4) 1010: CF+ACK(no data)
3.4) WDS幀
null
4) To DS: 表明該幀是否是BSS向DS發送的幀時
4.1) IBSS: 設置為0
4.2) To AP: 設置為1
4.3) From AP: 設置為0
4.4) WDS: 設置為1
5) From DS: 表明該幀是否是DS向BSS發送的幀時
5.1) IBSS: 設置為0
5.2) To AP: 設置為0
5.3) From AP: 設置為1
5.4) WDS: 設置為1
6) More Fragment: 用於說明長幀被分段的情況,是否還有其它的幀,如果有則該值設置為1
7) Retry(重傳域): 表示該分段是先前傳輸分段的重發幀。
8) Power Management: 表示傳輸幀以后,站所采用的電源管理模式
8.1) 為1: STA處於power_save模式
8.2) 為0: STA處於active模式
9) More Data: 表示有很多幀緩存到站中。即至少還有一個數據幀要發送給STA是設置為1。
10) Protected Frame: 表示根據WEP(Wired Equivalent Privacy)算法對幀主體進行加密。如果幀體部分包含被密鑰套處理過的數據,則設置為1,否則設置為0
11) Order(序號域): 在長幀分段傳送時,該域設置為1表示接受者應該嚴格按照順序處理該幀,否則設置為0
2. Duration/ID(持續時間/標識)
表明該幀和它的確認幀將會占用信道多長時間,Duration 值用於網絡分配向量(NAV)計算
3. Address Fields(地址域):
這個域的具體格式和控制幀的子類型有關,不同的子類型會有一些微小的差別
1) IBSS
1.1) Destination Address
1.2) Source Address
1.3) BSSID
每個BSS都會被賦予一個BSSID,它是一個長度為48個bit的二進制識別碼,用來辨識不同的BSS
2) From AP
2.1) Destination Address
2.2) BSSID
2.3) Source Address
3) To AP
3.1) BSSID
3.2) Source Address
3.3) Destination Address
4) WDS
4.1) BSSID
4.2) Source Address
4.3) Destination Address
4. Sequence Control(序列控制域): 用於過濾重復幀
1) MSDU(MAC Server Data Unit), 12位序列號(Sequence Number)
2) MMSDU(MAC Management Server Data Unit), 4位片段號(Fragment Number)組成
[SA,只有WDS中的幀有這個字段]
5. Frame Body(Data): 發送或接收的信息。
6. FCS(CRC): 包括32位的循環冗余校驗(CRC),用於檢錯,注意是檢錯不是糾錯
擴展:
WIFI認證過程
可使用wireshark進行抓包
1. AP發送Beacon廣播管理幀
2. 客戶端向承載指定SSID的AP發送Probe Request(探測請求)幀
3. AP接入點對客戶端的SSID連接請求進行應答
4. 客戶端對目標AP請求進行身份認證(Authentication)
5. AP對客戶端的身份認證(Authentication)請求作出回應
6. 客戶端向AP發送連接(Association)請求
7. AP對連接(Association)請求進行回應
8. 客戶端向AP請求斷開連接(Disassociation)