摘 要 筆者通過多年理論和實(shí)驗(yàn)課程的教學(xué)實(shí)踐,利用Sniffer軟件來設(shè)計(jì)與實(shí)現(xiàn)計(jì)算機(jī)網(wǎng)絡(luò)體系協(xié)議實(shí)驗(yàn)課程,取得了較為良好的教學(xué)效果。
關(guān)鍵詞 Sniffer 計(jì)算機(jī)網(wǎng)絡(luò)體系 協(xié)議實(shí)驗(yàn)課程
中圖分類號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:A " DOI:10.16400/j.cnki.kjdkz.2015.04.020
Computer Network System Protocol Experimental Curriculum
Design and Implementation under Sniffer Environment
YIN Xiangdong, CHEN Xuri, ZHANG Xinlin
(Computer and Communication Engineering Department,
Hu'nan University of Science and Engineering, Yongzhou, Hu'nan 425199)
Abstract Through many years of theoretical and experimental teaching practice courses using Sniffer software to design and implementation of computer network system protocol experimental course, made more good teaching effectiveness.
Key words Sniffer; computer network system; protocol experimental curriculum
0 引言
2006年,教育部高等學(xué)校計(jì)算機(jī)科學(xué)與技術(shù)教學(xué)指導(dǎo)委員會(huì)頒布了名為《關(guān)于進(jìn)一步加強(qiáng)高等學(xué)校計(jì)算機(jī)基礎(chǔ)教學(xué)的意見暨計(jì)算機(jī)基礎(chǔ)課程教學(xué)基本要求》的白皮書,明確了計(jì)算機(jī)基礎(chǔ)課程體系的六門核心課程,其中包含了“計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)與應(yīng)用”課程。①目前,許多高校的計(jì)算機(jī)科學(xué)與技術(shù)、電子信息工程、通信工程、軟件工程等IT類專業(yè)都開設(shè)了計(jì)算機(jī)網(wǎng)絡(luò)課程,并且一般都作為專業(yè)必修課程,是許多課程如物聯(lián)網(wǎng)基礎(chǔ)、網(wǎng)絡(luò)編程、網(wǎng)絡(luò)安全、網(wǎng)絡(luò)管理、無線傳感器網(wǎng)絡(luò)的先導(dǎo)課程。因此,學(xué)好計(jì)算機(jī)網(wǎng)絡(luò)課程,為學(xué)好后續(xù)課程打下扎實(shí)基礎(chǔ),是IT類學(xué)生架構(gòu)完整知識(shí)體系的需要。
1 計(jì)算機(jī)網(wǎng)絡(luò)體系協(xié)議實(shí)驗(yàn)教學(xué)現(xiàn)狀
但是,由于網(wǎng)絡(luò)技術(shù)更新非常迅速,計(jì)算機(jī)網(wǎng)絡(luò)課程內(nèi)容包含的知識(shí)點(diǎn)多,理論相對(duì)復(fù)雜而且較為抽象。②根據(jù)筆者多年的調(diào)查和研究,很多“計(jì)算機(jī)網(wǎng)絡(luò)”教材都是偏向理論性教學(xué),著重點(diǎn)在各個(gè)層次的協(xié)議上,學(xué)生們學(xué)習(xí)了大量的枯燥的網(wǎng)絡(luò)協(xié)議數(shù)據(jù)包基本格式,工作原理,卻不能親身體會(huì)到這些協(xié)議數(shù)據(jù)包現(xiàn)實(shí)中究竟是怎樣的,是如何工作的。以高等教育出版社的高傳善版的《計(jì)算機(jī)網(wǎng)絡(luò)》為例,通常第一章就介紹了計(jì)算機(jī)網(wǎng)絡(luò)體系結(jié)構(gòu)的概念和基礎(chǔ)知識(shí),而后的教學(xué)內(nèi)容都是圍繞這個(gè)計(jì)算機(jī)網(wǎng)絡(luò)體系展開的,第二章一般講授物理層的基礎(chǔ)知識(shí),包括基本概念和物理層協(xié)議;第三章講授數(shù)據(jù)鏈路層的基礎(chǔ)知識(shí),包括媒體訪問控制層(MAC)協(xié)議、鏈路控制層(LLC)協(xié)議以及用途非常廣泛的IEEE802協(xié)議簇;第四章講授網(wǎng)絡(luò)層協(xié)議,包括IP協(xié)議、ICMP協(xié)議、ARP協(xié)議、RARP協(xié)議;第五章講授傳輸層協(xié)議,包括TCP協(xié)議和UDP協(xié)議;第六章講授應(yīng)用層協(xié)議,包括DNS、FTP、HTTP、TELNET、SMTP、SNTP等。這些協(xié)議基本上都有各自的協(xié)議格式,相鄰層的協(xié)議使用接口服務(wù)訪問點(diǎn)(SAP)進(jìn)行通信,不同層次的協(xié)議數(shù)據(jù)包是逐層包含的關(guān)系。③
這樣多的協(xié)議,如果僅僅是課堂上講授理論,學(xué)生是很難理解的,對(duì)計(jì)算機(jī)網(wǎng)絡(luò)體系結(jié)構(gòu)的理解也相對(duì)孤立,無法形成一個(gè)整體概念模型,對(duì)網(wǎng)絡(luò)的理解也就不能深入透徹,因此,必須要通過有效的實(shí)驗(yàn)課程來幫助學(xué)生更好地掌握計(jì)算機(jī)網(wǎng)絡(luò)體結(jié)構(gòu),理解各層協(xié)議之間的關(guān)系。④筆者通過多年的計(jì)算機(jī)網(wǎng)絡(luò)理論和實(shí)驗(yàn)課程的教學(xué)實(shí)踐,利用Sniffer軟件來設(shè)計(jì)計(jì)算機(jī)網(wǎng)絡(luò)體系協(xié)議實(shí)驗(yàn)課程,取得了較為良好的教學(xué)效果。
2 Sniffer軟件實(shí)現(xiàn)計(jì)算機(jī)網(wǎng)絡(luò)體系協(xié)議實(shí)驗(yàn)
2.1 Sniffer軟件簡(jiǎn)介
Sniffer軟件是NAI公司開發(fā)的功能強(qiáng)大的協(xié)議分析工具,可以捕獲各種網(wǎng)絡(luò)協(xié)議數(shù)據(jù)包,然后利用專家分析系統(tǒng)對(duì)這些數(shù)據(jù)包進(jìn)行解碼、譯碼和詳細(xì)分析;另外,Sniffer軟件還有很多其他強(qiáng)大的功能,比如檢測(cè)網(wǎng)絡(luò)流量、實(shí)時(shí)監(jiān)控網(wǎng)絡(luò)活動(dòng)、收集網(wǎng)絡(luò)利用率和錯(cuò)誤等。⑤使用Sniffer軟件可以捕獲從數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層到應(yīng)用層各層次的協(xié)議數(shù)據(jù)包,與計(jì)算機(jī)網(wǎng)絡(luò)體系結(jié)構(gòu)具體對(duì)應(yīng)關(guān)系如圖1所示。
Sniffer在捕獲數(shù)據(jù)包以后,可以按照不同層次顯示出來,如圖2所示,并且用十六進(jìn)制、ASCII碼多種形式進(jìn)行解碼,這樣學(xué)生可以通過實(shí)際的操作看到各種網(wǎng)絡(luò)現(xiàn)象中產(chǎn)生的數(shù)據(jù)包的具體結(jié)構(gòu)和內(nèi)容,從而加強(qiáng)對(duì)計(jì)算機(jī)網(wǎng)絡(luò)體系結(jié)構(gòu)的理解。
圖1 Sniffer可以捕獲的常用協(xié)議數(shù)據(jù)包
圖2 Sniffer對(duì)捕獲的數(shù)據(jù)包協(xié)議分析
2.2 數(shù)據(jù)鏈路層協(xié)議分析
圖3是我們通常在講解數(shù)據(jù)鏈路層IEEE802.3數(shù)據(jù)幀結(jié)構(gòu)時(shí),在課堂上給同學(xué)展示的結(jié)構(gòu)圖,主要講解各部分的內(nèi)容和功能,學(xué)生在理解上是很抽象的,印象也不深刻,很難真正掌握數(shù)據(jù)幀的分層結(jié)構(gòu)和工作原理。
圖3 數(shù)據(jù)鏈路層802.3數(shù)據(jù)幀結(jié)構(gòu)
為了讓學(xué)生能夠直接生動(dòng)地去感知數(shù)據(jù)幀,我們?cè)O(shè)計(jì)了采用sniffer軟件來監(jiān)控網(wǎng)絡(luò)中2個(gè)節(jié)點(diǎn)間的通信,通過抓取鏈路層數(shù)據(jù)幀來進(jìn)行解碼分析。步驟如下:① 點(diǎn)擊開始→程序→sniffer打開Sniffer軟件,如果電腦有多個(gè)網(wǎng)卡,選擇已經(jīng)連接正在工作的網(wǎng)卡;在主窗口菜單中選擇“捕獲”→“定義過濾器”→“地址”:地址類型處選擇“IP”;② 位置1處填寫本機(jī)的IP(A),位置2處填寫旁邊同學(xué)的IP(B);③ 繼續(xù)在“定義過濾器”選擇“高級(jí)”,勾選想要捕獲分析可用到的協(xié)議類型:IP-ICMP;TCP-DNS-HTTP-TCP;UDP-DNS等;點(diǎn)擊“確定”;④ 點(diǎn)擊“捕獲”菜單中的“開始”,開始捕獲位置1與位置2之間的協(xié)議數(shù)據(jù)包;⑤ 此時(shí)我們?cè)赾md窗口中輸入命令:ping "[位置2的IP地址];⑥ Ping命令結(jié)束后,返回Sniffer主窗口,點(diǎn)擊“捕獲”菜單中的“停止并顯示”。⑥⑦ 在顯示窗口中點(diǎn)擊解碼選項(xiàng),可以看到類似圖2的窗口,里面包含了各層的數(shù)據(jù)包,點(diǎn)擊DLC,可以看到如圖4所示的內(nèi)容,其中上半部分表示數(shù)據(jù)幀的基本信息,包括接收時(shí)間、幀長(zhǎng)度、目標(biāo)物理地址、源目標(biāo)地址、幀的類型以及對(duì)應(yīng)網(wǎng)絡(luò)層的協(xié)議等信息,下半部分是該幀的數(shù)據(jù)流用十六進(jìn)制表示,當(dāng)然同學(xué)們可以轉(zhuǎn)換成二進(jìn)制來分析,右邊的內(nèi)容是對(duì)應(yīng)的ASCII碼。
圖4 Sniffer軟件捕獲802.3數(shù)據(jù)幀協(xié)議分析
2.3 網(wǎng)絡(luò)層及高層協(xié)議分析
在剛才操作的窗口中,在DLC下方的就是IP協(xié)議,點(diǎn)擊展開IP選項(xiàng),可以IP協(xié)議內(nèi)容,可以很清晰地看到IP數(shù)據(jù)包的報(bào)頭信息,讓學(xué)生與課堂里講的關(guān)于IP數(shù)據(jù)包結(jié)構(gòu)信息進(jìn)行對(duì)比,找到相關(guān)的內(nèi)容。
其他高層的協(xié)議信息操作的方法與IP協(xié)議類似,在圖2中打開TCP選項(xiàng),可以看到傳輸層的協(xié)議結(jié)構(gòu)信息,打開HTTP選項(xiàng),可以看到應(yīng)用層的協(xié)議結(jié)構(gòu)信息。
3 總結(jié)
通過這樣具體的實(shí)例展示,在Sniffer中的DLC、IP、TCP、HTTP依次對(duì)應(yīng)了圖1中的數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、應(yīng)用層,學(xué)生將以前課堂里學(xué)到的邏輯概念進(jìn)行轉(zhuǎn)換成實(shí)際的內(nèi)容,對(duì)這些原本理解起來較為困難的知識(shí)點(diǎn)會(huì)很快掌握,大大增強(qiáng)了教學(xué)效果。由于作者水平有限,只是介紹了其中主要的協(xié)議,其他的協(xié)議也可以采用類似的方法來進(jìn)行學(xué)習(xí),不當(dāng)之處,敬請(qǐng)各位讀者批評(píng)指正。
基金項(xiàng)目:湖南省高等教育教學(xué)改革項(xiàng)目,課題號(hào):湘教通[2013]223號(hào),[2012]401號(hào);國(guó)家級(jí)大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目,教高司函[2013]102號(hào);湖南省大學(xué)生創(chuàng)新實(shí)驗(yàn)項(xiàng)目,湘教通[2013]36號(hào);湖南科技學(xué)院計(jì)算機(jī)應(yīng)用技術(shù)重點(diǎn)學(xué)科資助
注釋
① 張千,石樂義,肖軍弼,劉素芹.面向非信息類專業(yè)的計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)與應(yīng)用課程差異化教學(xué)體系的研究與探索[J].科教導(dǎo)刊,2014(8):115-117.
② 黃建德.案例教學(xué)法在計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)教學(xué)中的應(yīng)用[J].科教導(dǎo)刊,2014(4):115-116.
③ 尹向東,張新林.“卓越工程師”背景下《計(jì)算機(jī)網(wǎng)絡(luò)》實(shí)驗(yàn)課程教學(xué)改革與實(shí)踐[J].湖南科技學(xué)院學(xué)報(bào),2013(4):75-77.
④ 高傳善,毛迪林.數(shù)據(jù)通信與計(jì)算機(jī)網(wǎng)絡(luò)[M].北京:高等教育出版社,2004.
⑤ 劉洪濤,張綱,程良倫.基于Sniffer Pro的虛擬實(shí)驗(yàn)室構(gòu)建[J].實(shí)驗(yàn)室研究與探索,2011(8).
⑥ 尹向東,段國(guó)云,胡同花.計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)實(shí)訓(xùn)教程[M].西安:西安電子科技大學(xué)出版社,2014.