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