尹友明
(衡陽技師學院 湖南衡陽 421001)
報文分析技術在計算機網絡教學中的應用探討
尹友明
(衡陽技師學院 湖南衡陽 421001)
計算機網絡技術的快速發展,計算機網絡廣泛的應用,大多中職院校開始了計算機網絡教學,不少學校順應時代需要建設了校園網,并連入了互聯網,開始了網絡教學的嘗試。所謂網絡教學是指教師利用計算機網絡向學生傳遞教學信息,或學生通過計算機網絡獲取知識。由于網絡教學具有時效性、共享性、交互性和個別化等特點,教師在教學過程中如何根據網絡教學不同的教學模式,發揮教師的主導作用和激發學生自主學習使學生成為認識的主體,這就要了解網上教學的教學模式、特點、問題以及應對辦法,在教學工作中不斷實踐與創新。
報文分析技術 計算機網絡教學
計算機網絡是計算機科學與技術、網絡工程專業的專業核心課程,它主要講述計算機網絡的發展歷史、基本概念、體系結構、基本原理與技術。在計算機科學專業,特別是網絡工程專業課程體系中起到重要的理論支撐作用。它涵蓋了網絡基礎知識、數據通信基礎知識、網絡體系結構、局域網技術、廣域網和internet應用等基礎知識。教師講授計算機網絡基本原理時,通常輔以大量Wire Shark報文分析軟件基本操作教學,讓學生盡快從全局角度把握計算機網絡體系結構。[1]
1. ARP協議工作原理介紹
為了讓學生容易理解協議中的很多抽象概念,我們建立特定局域網場景。以主機A(192.168.1.5)向主機B(192.168.1.1)發送數據為例,當發送數據時,主機A會在自己的ARP緩存表(存放IP地址與MAC地址一一對應關系)中尋找是否有目的主機的IP地址。如果找到了,也就知道了目的主機的MAC地址,即可直接把目的主機的MAC地址寫入Ethernet幀結構中發送;如果在ARP緩存表中沒有找到相對應的IP地址,主機A就會在網絡上發送一個ARP請求報文,目的MAC地址是“FF-FF-FF-FF-FF-FF”,這表示向同一網段內的所有主機發出這樣的詢問,即廣播“192.168.1.1的MAC地址是什么”,網絡上其他主機并不響應該ARP詢問,只有主機B接收到這個幀時,才向主機A做出回應“192.168.1.1的MAC地址是00-0B-DB-47-70-24”。這樣,主機A就知道了主機B的MAC地址,即可以向主機B發送數據報文了。同時,主機A還更新了自己的ARP緩存表,下次再向主機B發送數據時,就可以直接從ARP緩存表里查找。如果源主機沒有發送ARP請求而收到其他主機的ARP響應數據幀,源主機也會在本地ARP緩存區中緩存該主機物理地址與IP地址的對應關系。ARP緩存表采用了老化機制,在一段時間內,如果表中的某一行沒有使用,就會被刪除,這樣可以大大減少ARP緩存表的長度,加快查詢速度。[2]
2.Wire Shark捕獲
(1)運行Wire Shark,點擊“Capture Options”,將網絡適配器的監聽模式設定為混雜模式(Promiscuous Mode),此種模式下,網卡將接受同一網絡內所有主機所發送的數據包,達到對所有數據包進行捕獲的目的。
(2)在主界面點擊“Start”按鈕,開始捕獲網絡報文。
(3)在Windows平臺,以管理員身份運行“命令行提示符”,輸入命令arp–d,清除機器ARP緩存表,后續使用ping命令,即可產生ARP請求報文和響應報文。
(4)切換到Wire Shark界面,在過濾器輸入欄(“Filter”)輸入ARP,即可過濾出所有捕獲的ARP報文。通過以上操作可以有效地把ARP報文捕獲。演示的過程中,教師可以對每一個步驟進行較為詳細的講解,讓學生理解操作背后的意義。例如ping命令是如何基于ICMP協議實現,當中又在何時觸發ARP協議工作。在Wire Shark界面的報文查看區,教師可以展開樹形菜單,為同學們重點講解每個字段的含義,并將捕獲的信息與ARP數據報文格式進行對照分析。
3.學習使用Win Pcap開發框架
(1)程序流程
由于發送接收報文需要綁定在特定的網絡適配器上,所以程序開始的時候,首先讀取全部的網絡適配器列表,由用戶選擇適當的適配器。在選擇網絡適配器后,系統開始檢測用戶選擇是否正確,確認無誤后,即獲得指定適配器的IP地址和MAC地址,然后開啟兩個核心工作線程分別發送ARP請求數據幀及接收ARP數據幀。
(2)核心數據結構
教師還應重點指導學生構建3個核心數據結構,分別是Ethernet幀頭部結構、ARP數據幀頭部結構以及最后封裝結構。
(3)程序核心函數說明
通過編程實現對ARP報文的捕獲和分析主要涉及4個核心函數:填充ARP數據幀、發送ARP數據幀、接收局域網中活動主機發送的ARP響應幀、解析ARP數據幀內容。其中填充和發送ARP數據幀函數實現較為簡單,一般依據前一小節談到的3個數據結構,輸入參數,構建對應結構體,在獲取指定網卡句柄之后,調用Win Pcap提供的API來完成數據幀發送。較為復雜的核心函數是如何捕獲ARP響應幀并進行相關解析,其算法思路是先打開指定的網絡適配器,將其設定為混雜模式,然后針對ARP協議設置Win Pcap Fliter(過濾器),確保只接受ARP數據幀,降低額外的CPU占用率,最后在一個永真循環中介紹ARP響應幀,并根據響應的數據幀內容給主線程發送消息,通知其更新界面,輸出分析結果。
在計算機網絡相關課程教學中,筆者嘗試將協議分析軟件以及Win Pcap網絡編程引入教學,使協議、層等概念變得直觀而生動。將協議分析軟件、Win Pcap編程開發引入教學可以規避教學的不足,解決了傳統教學內容抽象和缺乏實踐的問題,讓學生有了更深入的理解,提高了學生的學習興趣,同時也為后繼課程打下良好基礎。
[1]戟峰.教育技術進入信息化發展新階段[M].中國電化教育。2000.3
[2]田屹.論信息時代的學校網絡教學[J].教育技術中心2004-10-24