


摘? 要: 以IEEE802.11協議教學為例,闡述了計算機網絡原理教學過程中如何使用Wireshark協議分析軟件,讓學生直觀地理解網絡協議原理。簡略地介紹了IEEE802.11協議,以及無線鏈路層幀的基本捕獲方法。在分析幀結構的基礎上,展示了AP信標幀、用戶認證和關聯過程的相關鏈路層幀的組成。通過觀察主機和AP熱點之間的數據交換過程,幫助學生學習AP熱點發現、認證和關聯的基本原理。實踐表明,在課堂教學中使用協議分析工具能加強學生對協議的理解,同時提高教學效果。
關鍵詞: 教學; Wireshark; IEEE802.11; 認證; 關聯
中圖分類號:TP393.1? ? ? ? ? 文獻標志碼:A? ? ?文章編號:1006-8228(2019)04-79-04
Abstract: Taking the teaching of IEEE802.11 protocol as an example, this paper expounds how to use Wireshark protocol analysis software in the teaching of computer network principle, letting students understand the network protocol principle intuitively. The IEEE802.11 protocol and the capture method of wireless link layer frame, including AP beacon frame, user authentication and association, and the composition of related link layer frame are briefly introduced. Practice shows that the use of protocol analysis tools in classroom teaching can enhance students' understanding of the protocol and also improve the teaching effect.
Key words: teaching; Wireshark; IEEE802.11; authentication; association
0 引言
Wifi(IEEE802.11)網絡已經是Internet的重要組成部分[1-2]。理解IEEE802.11的工作原理是計算機網絡學習過程中的重要一環。但是在教學過程中,網絡協議的講解有別于計算機語言類和其他傳統專業課程,沒有直觀、形象的知識點介紹或者軟件操作,不能讓學生有比較具體的認識。本文嘗試將網絡報文分析技術引入課堂,使學生在學習計算機網絡內容時有一個較為直觀的認識。根據教學規律可知,學生在可視化環境中接收到的知識印象是深刻的。因此,使用報文分析技術可以幫助學生深刻理解IEEE802.11[3]的工作過程。
1 協議分析軟件與技術
協議分析軟件是一種利用計算機網絡接口,捕獲流經該網絡接口的數據報的應用程序。這種技術被廣泛應用于網絡的故障檢測和管理維護。例如Wireshark[5]就是一個非常方便的網絡分析工具。利用該工具可以捕捉網絡中的數據包,通過分析數據包為用戶提供關于網絡和相關協議的各種信息。
Wireshark使用WinPCAP網絡函數庫來進行數據包的捕獲。它的主要優勢是:安裝方便;具有簡單易用的界面;功能豐富。
但是無線網卡的工作方式有別于有線網卡,它有多種工作模式[4]。例如主機和Wifi連接的時候,它的無線網卡工作于被管理模式(Managed Mode);當主機開啟熱點,給朋友提供Wifi服務的時候,它工作于主模式(Master Mode)。另外還有兩種類型的模式AdHoc模式和監聽模式(Monitor Mode)或RFMON (Radio Frequency MONitor)模式。
如果使用一般的筆記本電腦無線網卡進行抓包,會發現不能捕獲802.11數據流。這是由于Wireshark此時處理的都是鏈路層以上的數據。理解802.11協議的工作過程,需要捕獲鏈路層及以下的802.11幀數據,需要網卡開啟監聽模式。監聽模式,是指無線網卡可以接收所有經過它的數據流的工作方式。而在Windows環境下開啟無線網卡的監聽模式需要特殊的硬件和驅動程序,例如配置AirPCap工具。另外一個方法是在一些支持監聽模式的操作系統環境中進行802.11幀捕獲。例如在MAC系統中,可以開啟支持網卡監聽模式,和Wireshark一起完成802.11數據幀的捕獲實驗。如果沒有MAC系統,可以使用Linux系統的發布版本進行相同的實驗。
2 IEEE802.11協議分析教學案例
2.1 教學思路
在介紹802.11協議基本原理以后,使用Wireshark報文分析軟件現場捕獲信標幀、認證過程和關聯過程產生的數據幀。讓學生直觀的觀察到主機和AP熱點之間的數據交換過程,理解AP熱點發現、認證和關聯的基本原理。
2.2 IEEE802.11協議工作原理簡介
IEEE802.11協議[3]是802.11a、802.11b、802.11g和802.11bn等的統稱。這些標準的共同特征是它們都使用相同的介質訪問控制協議CSMA/CA,都具有類似的鏈路層幀格式、都允許使用“基礎設施模式”和“自組織模式”。
無線路由通常指配備了無線AP的路由器。無線路由在安裝時管理員會指定這個設備的名字,或者叫服務集標識(SSID,Service Set Identifier)。當主機在“查看可用的無線網絡時”,就會顯示一定范圍內所有AP的SSID。
802.11標準要求每個AP周期性地發送信標幀(Beacon Frame),信標幀包含AP的SSID和MAC地址。這是“查看可用的無線網絡時”,就會顯示無線網絡的一個原因。大部分無線路由在用戶請求關聯的時候會進行認證。802.11有幾種認證方式:開放系統認證、共享密鑰認證、WPA(WPA和WPA2)等等。認證通過以后,AP和無線主機才會進行關聯,分配IP地址。
802.11數據幀與以太網幀有許多不同,它包含了許多特定的用于無線鏈路的字段。它的幀結構如圖1所示,在圖1中每個字段上面的數字代表該字段的長度,單位是字節。在幀控制字段中,每個字段上的數字代表字段的比特長度。
802.11幀其實是從Preamble前導標識開始的,用于接收設備識別802.11幀。由圖1可以看到,一個802.11幀基本由MAC頭部、幀體部分和CRC校驗組成。
在802.11協議基礎模式中當一個無線主機需要發送幀時,使用CSMA/CA機制協調信道的訪問。首先檢測信道是否空閑。如果檢測到信道空閑,則隨機等待一段時間后,才送出數據。如果接收端正確收到此幀,則經過一段時間間隔后,向發送端返回確認幀ACK。當發送端收到確認幀,才確定數據正確傳輸。如果檢測到信道繁忙。主機使用二進制指數退避算法調整競爭窗口(再次競爭的等待時間),在競爭窗口關閉后再次嘗試發送。802.11也可以使用RTS/CTS( Request To Send/Clear To Send)模式。
2.3 信標幀的捕獲
無線主機掃描信道和監聽信標幀的過程稱為被動掃描。無線主機也能夠執行主動掃描,這是通過向位于無線主機范圍內的所有AP廣播探測幀完成的。AP用響應幀應答無線主機的探測請求。無線主機則在響應的AP中選擇一個AP與之關聯。在家用無線路由中只要進行設置,把SSID廣播關閉,AP就不再會廣播信標幀。這時,只有知道這個無線路由SSID的用戶才可以連接。Wireshark信標幀的顯示過濾器如下:
wlan.fc.type == 0 && wlan.fc.subtype == 8
圖2顯示了一個信標幀的詳細信息。大家若打開Wireshark進行數據包捕獲,會發現這種類型的數據包太多了。從數據包的Info字段也非常容易就能發現Beacon frame關鍵字,從而判定這是一個信標幀。信標幀包含的重要信息是SSID,AP支持的傳輸速率、信道等信息。從圖中不難發現,這是一個Tenda公司的無線路由器,支持的最高傳輸速率為54Mbps。
2.4 用戶認證過程
802.11有開放系統認證和共享密鑰認證兩種方式。IEEE制定的802.11i協議主要解決WEP(Wired Equivalent Privacy)加密機制缺乏機密性的問題,包含WPA(Wi-Fi Protected Access)和WPA2。Wireshark認證幀的顯示過濾器如下:
wlan.fc.type == 0 && wlan.fc.subtype == 11
開放式系統認證過程中,無線主機發送認證請求,AP會判斷主機是否通過認證,然后決定是否允許接入。申請主機發送Authentication幀,認證序號為0x01。認證者收到后,先是反饋表示接收正確的ACK幀。然后同樣發送Authentication報文,認證序號為0x02,并在Status code字段置0,表示認證成功。一般在開放式系統認證中,所有請求都會通過。當AP不需要對訪問的無線主機進行控制時才會采用此類認證。
與開放式系統認證相比,共享密鑰認證提供了更高的安全級別。共享密鑰需要無線主機和AP配置相同的密鑰,同時支持WEP協議。表1顯示了開放系統認證過程中的802.11幀。
2.5 用戶關聯過程
無線主機要接入無線網絡,必須與特定的AP建立關聯。當主機通過指定SSID選擇無線網絡,并經過AP認證后,就會立即向AP發送關聯請求(Association Request)幀。AP會對關聯請求幀攜帶的主機信息進行檢測,最終確定該主機是否具備接入網絡的能力。并向主機回復關聯響應(Association Response)幀以告知鏈路是否關聯成功。通常,無線主機只能與一個AP建立關聯鏈路。且關聯請求總是由無線主機發起。
關聯操作一般有二個步驟。其中所用到的兩個幀:關聯幀及響應幀被歸類為關聯管理幀。關聯過程如下:
⑴ AP完成身份驗后無線主機發送關聯請求幀。未經過身份驗證的無線主機會從AP處收到一個Deauthentication響應幀。
⑵ AP隨后會對關聯請求進行處理,返還響應幀。
3 結束語
在計算機網絡課程的教學中,將協議分析軟件引入教學過程,是數據包的流動過程變得清晰可見。這種方法解決了傳統教學內容抽象、難以理解、無法操作和缺乏實踐的問題。本文結合Wireshark協議分析工具,介紹了IEEE802.11鏈路層幀的一般捕獲技術,包括AP發現、認證和用戶關聯的過程。直觀的向學生展示了IEEE802.11協議的工作原理,讓學生對于Wifi網絡技術有了更深入的理解。
參考文獻(References):
[1] J.F.Kurose,K.W.Ross著,陳鳴譯.計算機網絡:自頂向下方法(第6版)[M].機械工業出版社,2014.
[2] A.S.Tanenbaum, D.J.Wetherall著,嚴偉,潘愛民譯.計算機網絡(第5版)[M].清華大學出版社,2012.
[3] IEEE802.11, http://www.ieee802.org/11/[OL].
[4] C.Sanders著,諸葛建偉,陳霖,許偉林譯.Wireshark數據包分析實戰(第2版)[M].人民郵電出版社,2013.
[5] https://www.wireshark.org[OL].
[6] 徐建編著.計算機組網及Wireshark實驗教程[M].西安電子科技大學出版社,2018.