国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于GNS3+Wireshark的網(wǎng)絡(luò)協(xié)議分析實(shí)驗(yàn)教學(xué)改革

2022-11-03 07:53彭玉蘭代琪怡李佳芮李宗雷
現(xiàn)代信息科技 2022年18期
關(guān)鍵詞:數(shù)據(jù)包軟件實(shí)驗(yàn)

彭玉蘭,代琪怡,李佳芮,李宗雷

(1.電子科技大學(xué)成都學(xué)院 網(wǎng)絡(luò)空間安全系,四川 成都 611731;2.西南交通大學(xué) 自動化與智能工程系,四川 成都 611756)

0 引言

“復(fù)旦共識”“天大行動”和“北京指南”新工科建設(shè)“三部曲”的推進(jìn),使得工科教育新路徑的開拓迫在眉睫。加之以大數(shù)據(jù)、人工智能、云計(jì)算、物聯(lián)網(wǎng)及區(qū)塊鏈等技術(shù)為驅(qū)動力的新經(jīng)濟(jì)蓬勃發(fā)展,對科技人才的需求進(jìn)一步增加,對轉(zhuǎn)型中的高校應(yīng)用型人才培養(yǎng)提出了挑戰(zhàn)。

“網(wǎng)絡(luò)協(xié)議分析”是計(jì)算機(jī)網(wǎng)絡(luò)與高級編程語言相互融合而形成的一門綜合課程,在網(wǎng)絡(luò)工程、信息安全等專業(yè)的本??粕虒W(xué)中占據(jù)重要地位?!熬W(wǎng)絡(luò)協(xié)議分析”分為理論課程和實(shí)驗(yàn)課程,理論課程側(cè)重于講解TCP/IP 協(xié)議簇、協(xié)議分析技巧等,實(shí)驗(yàn)課程重點(diǎn)是協(xié)議解析。當(dāng)前高校的“網(wǎng)絡(luò)協(xié)議分析”課程教學(xué)常用模式為理論教學(xué)為主,少量課內(nèi)實(shí)驗(yàn)為輔。因此存在缺少實(shí)驗(yàn)平臺,教學(xué)內(nèi)容形式單一等問題,導(dǎo)致無法適應(yīng)應(yīng)用型人才培養(yǎng)的時(shí)代需求。

本文針對“網(wǎng)絡(luò)協(xié)議分析”實(shí)驗(yàn)課程存在的上述問題,提出了一種新型的多軟件融合實(shí)驗(yàn)教學(xué)方法。該教學(xué)方法同時(shí)運(yùn)用網(wǎng)絡(luò)虛擬軟件GNS3、網(wǎng)絡(luò)協(xié)議分析軟件Wireshark及Libpcap 庫的各類接口分析網(wǎng)絡(luò)協(xié)議,因而能夠準(zhǔn)確觀察到協(xié)議工作的中間過程。以ARP 協(xié)議為例,該教學(xué)方法清晰展示了ARP 協(xié)議實(shí)驗(yàn)拓?fù)鋱D的構(gòu)建、ARP 協(xié)議數(shù)據(jù)的觸發(fā)、捕獲及分析等。

1 教學(xué)方法改革概述

“網(wǎng)絡(luò)協(xié)議分析”實(shí)驗(yàn)課程傳統(tǒng)教學(xué)方法與所提出教學(xué)方法的對比如圖1所示。傳統(tǒng)教學(xué)方法步驟如圖1(a)所示,由于所有的流程由Wireshark 軟件一鍵完成,無法了解協(xié)議的具體工作過程。為了實(shí)現(xiàn)協(xié)議工作過程的準(zhǔn)確觀察,構(gòu)建了如圖1(b)所示的新型教學(xué)方法。首先,利用GNS3軟件搭建網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),模擬網(wǎng)絡(luò)協(xié)議環(huán)境;進(jìn)一步,使用Wireshark 軟件進(jìn)行數(shù)據(jù)包的捕獲、分析和保存;最后在Linux 系統(tǒng)下調(diào)用Libpcap 接口編碼實(shí)現(xiàn)網(wǎng)絡(luò)協(xié)議的分析并與Wireshark 軟件分析結(jié)果對比,驗(yàn)證所提出的網(wǎng)絡(luò)協(xié)議分析方法的有效性。

圖1 網(wǎng)絡(luò)協(xié)議分析方法對比

2 相關(guān)工具介紹

2.1 GNS3

目前常用的網(wǎng)絡(luò)模擬軟件有PacketTracer、GNS3 等。其中的GNS3(Graphical Network Simulator)軟件具有圖形化界面且可運(yùn)行在Windows、MacOS 及Linux/Unix 等眾多平臺,包含Dynamips、WinPCAP、Wireshark等多個(gè)應(yīng)用組件。GNS3 軟件功能豐富,適合初學(xué)者使用。

2.2 Wireshark

Wireshark(原名Ethereal)軟件是一款免費(fèi)開源的協(xié)議解析器,是目前世界范圍內(nèi)應(yīng)用最廣泛的網(wǎng)絡(luò)協(xié)議解析軟件之一。Wireshark 軟件是一款通用化的網(wǎng)絡(luò)數(shù)據(jù)嗅探器和協(xié)議分析器,可運(yùn)行在Windows、MacOS 及Linux/Unix 等眾多平臺。通過Wireshark 軟件可以分析底層通信機(jī)制,對網(wǎng)絡(luò)進(jìn)行故障定位和排查,以及對網(wǎng)絡(luò)黑客滲透攻擊進(jìn)行快速定位并找出攻擊源等。

2.3 Libpcap

Libpcap(Packet Capture Library)是由Berkeley 勞倫斯國家實(shí)驗(yàn)室開發(fā)的可運(yùn)行在Linux/Unix 平臺下的網(wǎng)絡(luò)數(shù)據(jù)包捕獲函數(shù)庫。Libpcap 庫提供的C 函數(shù)接口能夠捕獲經(jīng)過指定網(wǎng)絡(luò)接口的數(shù)據(jù)包、實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)包的過濾、網(wǎng)絡(luò)數(shù)據(jù)包分析及存儲。

3 ARP 協(xié)議實(shí)驗(yàn)過程

3.1 設(shè)計(jì)ARP 實(shí)驗(yàn)拓?fù)鋱D

ARP 協(xié)議稱為地址解析協(xié)議(Address Resolution Protocol),位于TCP/IP協(xié)議棧的網(wǎng)絡(luò)層,僅適用于局域網(wǎng),為網(wǎng)絡(luò)地址(IP地址)與對應(yīng)的硬件地址(MAC 地址)之間提供動態(tài)映射。

使用GNS3 軟件設(shè)計(jì)的ARP 實(shí)驗(yàn)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖2所示,包括一個(gè)交換機(jī)和三臺PC。交換機(jī)SW 同時(shí)連接PC1(IP地址為192.168.1.1)、PC2(IP 地址為192.168.1.2)和PC3(IP地址為192.168.1.3)。

圖2 ARP 實(shí)驗(yàn)拓?fù)鋱D

3.2 配置信息

3.2.1 交換機(jī)配置

首先選擇路由器c3745,右鍵選擇“Changesymbol”修改圖標(biāo)為交換機(jī)圖標(biāo);右鍵選擇“Configure”修改名稱為SW,將Slots 的slot 1 修改為NM-16ESW,即為以太網(wǎng)交換機(jī)接口。具體配置步驟如圖3所示。

圖3 交換機(jī)配置步驟

3.2.2 三臺PC 配置

PC1 配置信息如下:

PC1#conf t

PC1(config)#int f0/0

PC1(config-if)#no shutdown

PC1(config-if)#ip add 192.168.1.1 255.255.255.0

PC1(config-if)#end

PC2 配置信息如下:

PC2#conf t

PC2 (config)#int f0/0

PC2 (config-if)#no shutdown

PC2 (config-if)#ip add 192.168.1.2 255.255.255.0

PC2 (config-if)#end

PC3 配置信息如下:

PC3#conf t

PC3 (config)#int f0/0

PC3 (config-if)#no shutdown

PC3 (config-if)#ip add 192.168.1.3 255.255.255.0

PC3 (config-if)#end

3.3 執(zhí)行ping 命令

ping 命令用于檢測網(wǎng)絡(luò)連通情況,根據(jù)域名獲取服務(wù)器IP 等。在ARP 協(xié)議實(shí)驗(yàn)中利用ping 命令測試PC1 和PC3的連通情況。

在PC1 上執(zhí)行ping 命令之前,分別執(zhí)行命令“showarp”查看PC1、PC2和PC3上的ARP緩存表內(nèi)容,結(jié)果如圖4所示。然后在PC1 上pingPC3,執(zhí)行命令“ping 192.168.1.3”,命令執(zhí)行結(jié)果為“Success rate is 80 percent (4/5)”。

圖4 ping 實(shí)驗(yàn)之前緩存表內(nèi)容

3.4 Wireshark 軟件捕獲數(shù)據(jù)包

在GNS3 環(huán)境下調(diào)用Wireshark 軟件進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)包的捕獲,必須在執(zhí)行ping 命令之前打開Wireshark 軟件。分別選中網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中的三條鏈路(PC1 與SW、PC2 與SW、PC3 與SW 之間),右鍵選擇“Startcapture”后輸入與三條鏈路相對應(yīng)的文件名PC1_SW.pcap、PC2_SW.pcap、PC3_SW.pcap,即可開始數(shù)據(jù)包的捕獲。捕獲的三條鏈路數(shù)據(jù)包中與ARP 協(xié)議相關(guān)的信息如圖5所示。

圖5 ARP 協(xié)議相關(guān)數(shù)據(jù)包

4 結(jié)果分析

4.1 ping 實(shí)驗(yàn)結(jié)果分析

在3.3 節(jié)中執(zhí)行ping 命令的成功率是80%,即第一個(gè)ping 包不通。這是因?yàn)楫?dāng)PC1 發(fā)送第一個(gè)ping 包時(shí),發(fā)現(xiàn)沒辦法完成數(shù)據(jù)鏈路層的封包。原因是PC1 只知道PC3 的IP 地址為192.168.1.3(從圖4 可以看出,ARP 緩存表中只有PC1 的IP 地址和MAC 地址的對應(yīng)關(guān)系),而并不知道PC3 的MAC 地址,于是封裝失敗,第一個(gè)ping 包沒有發(fā)送出去。與此同時(shí),PC1 會馬上啟動一個(gè)ARP 進(jìn)程,以廣播的方式發(fā)出一個(gè)ARP 請求,詢問PC3 的MAC 地址。

4.2 Wireshark 捕包結(jié)果分析

捕獲的ARP 協(xié)議數(shù)據(jù)包中的PC1_SW.pcap 與PC3_SW.pcap 的數(shù)據(jù)相同,均為一對ARP 請求應(yīng)答,四對ICMP請求應(yīng)答,而PC2_SW.pcap 中只有一個(gè)ARP 請求包。根據(jù)上述數(shù)據(jù)結(jié)果,說明ARP 協(xié)議是廣播請求單播應(yīng)答,并且ARP 協(xié)議原理具有以下特征:PC1 將包含目標(biāo)IP 地址(192.168.1.3)的ARP 請求廣播到局域網(wǎng)絡(luò)上的所有主機(jī),PC2 和PC3 均捕獲到了PC1 的ARP 廣播請求包。PC2 收到廣播包后直接丟棄,PC3 收到詢問自己物理地址的ARP 請求時(shí),首先查看ARP 表中是否包含PC1 的IP 地址和MAC 地址的相關(guān)記錄,如果沒有則更新ARP 緩存表(新增一條IP 地址為192.168.1.1,MAC 地址為c4:02:0c:c5:00:00 的記錄)并構(gòu)建ARP 響應(yīng)信息回復(fù)PC1。PC1 收到PC3 返回的響應(yīng)消息,以此確定目標(biāo)PC3 的物理地址為c4:04:0d:bc:00:00;PC1 收到回復(fù)消息后將該IP 地址和物理地址存入本機(jī)ARP 緩存中并保留一定時(shí)間,下次請求時(shí)直接查詢ARP 緩存以節(jié)約資源。

ping 命令執(zhí)行結(jié)束后查看三臺PC 的ARP 緩存表,如圖6所示。PC2 的ARP 緩存表沒有任何變化,而PC1 和PC3的ARP 緩存表均發(fā)生變化。PC1 在之前的基礎(chǔ)上增加一條IP 為192.168.1.3 的記錄,PC3 在之前的基礎(chǔ)上增加一條IP為192.168.1.1 的記錄。

圖6 ARP 緩存表變化

4.3 調(diào)用Libpcap 接口分析協(xié)議

在理解ARP 協(xié)議原理后查閱RFC 文檔獲得ARP 數(shù)據(jù)報(bào)文格式及ARP 數(shù)據(jù)包的詳細(xì)信息列表,如圖7所示。首先根據(jù)圖7 定義出ARP 協(xié)議數(shù)據(jù)報(bào)文格式的結(jié)構(gòu)體。

圖7 ARP 數(shù)據(jù)報(bào)文格式

然后在Linux 平臺下進(jìn)行C 語言編碼,調(diào)用Libpcap 接口捕獲ARP 協(xié)議數(shù)據(jù)并解析。首先調(diào)用接口pcap_open_oラine 讀取離線文件PC1_SW.pcap,再結(jié)合pcap_loop 和回調(diào)函數(shù),在回調(diào)函數(shù)中進(jìn)行數(shù)據(jù)解析,依次解析以太網(wǎng)協(xié)議、ARP 協(xié)議并與Wireshark 軟件結(jié)果對比,對比結(jié)果如圖8所示。圖8 表明,利用C 語言編碼可實(shí)現(xiàn)協(xié)議的正確解析。與Wireshark 軟件不同的是所提出的教學(xué)方法能夠準(zhǔn)確觀察到協(xié)議的工作過程(如圖2—圖6),而Wireshark 軟件僅僅只能看到如圖8所示的最終協(xié)議解析結(jié)果。此外,隨著協(xié)議種類的增多,該教學(xué)方法還可以在Linux 系統(tǒng)上靈活地實(shí)現(xiàn)網(wǎng)絡(luò)流量識別、網(wǎng)絡(luò)行為審計(jì)、網(wǎng)絡(luò)攻防等系統(tǒng)的設(shè)計(jì)等,這是該教學(xué)方法相對于傳統(tǒng)教學(xué)方法的另一個(gè)優(yōu)勢。

圖8 ARP 協(xié)議解析結(jié)果對比

5 結(jié)論

為了克服目前“網(wǎng)絡(luò)協(xié)議分析”實(shí)驗(yàn)課程缺少實(shí)驗(yàn)平臺,教學(xué)內(nèi)容形式單一等問題,提出了一種新型的將網(wǎng)絡(luò)虛擬軟件GNS3、Wireshark 與Libpcap 庫融合起來使用的實(shí)驗(yàn)教學(xué)方法。該實(shí)驗(yàn)教學(xué)方法有望加深學(xué)生對網(wǎng)絡(luò)協(xié)議工作中間過程的理解,進(jìn)而提高學(xué)生網(wǎng)絡(luò)協(xié)議分析的能力,增強(qiáng)學(xué)生的網(wǎng)絡(luò)安全防范意識,對高校“網(wǎng)絡(luò)協(xié)議分析”實(shí)驗(yàn)課程的授課具有一定的借鑒意義。

猜你喜歡
數(shù)據(jù)包軟件實(shí)驗(yàn)
基于時(shí)隙ALOHA與NOMA的通信系統(tǒng)性能分析
C#串口高效可靠的接收方案設(shè)計(jì)
有趣的識花軟件
聲波實(shí)驗(yàn)
關(guān)于植物的小實(shí)驗(yàn)
網(wǎng)絡(luò)數(shù)據(jù)包的抓取與識別
即時(shí)通訊軟件WhatsApp
最酷的太空實(shí)驗(yàn)
讓合作探究走進(jìn)實(shí)驗(yàn)課堂
豐富多彩的Android軟件