freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

計算機(jī)網(wǎng)絡(luò)課程設(shè)計實驗報告(已修改)

2025-05-26 03:53 本頁面
 

【正文】 中南大學(xué)課程設(shè)計報告課程:計算機(jī)網(wǎng)絡(luò)課程設(shè)計 題目:基于Winpcap的網(wǎng)絡(luò)流量統(tǒng)計分析指導(dǎo)教師:張偉目錄第1章 總體設(shè)計 實體類設(shè)計 P3 功能類設(shè)計 P3 界面設(shè)計 P3第2章 詳細(xì)設(shè)計 實體類實現(xiàn) P4 功能類實現(xiàn) P4 界面實現(xiàn) P5第3章 源代碼清單及說明 一、 P7 二、 P9 三、 P9 四、 P13第4章 運行結(jié)果 P19第五章 心得體會 P21第1章 總體設(shè)計 實體類設(shè)計TCP、UPD、ICMP、ARP、廣播數(shù)據(jù)包五個包的數(shù)據(jù)結(jié)構(gòu)設(shè)計 功能類設(shè)計(1) 網(wǎng)卡獲?。?) 包的抓捕(3) 包的處理 界面設(shè)計(1) 布局(2) 按鈕功能連接第2章 第二章 詳細(xì)設(shè)計一、實體類實現(xiàn)TCP、UPD、ICMP、ARP、廣播數(shù)據(jù)包五個包的數(shù)據(jù)結(jié)構(gòu)設(shè)計。本程序采用Java編寫,基于win10pcap。Win10pcap是winpcap在win10系統(tǒng)上的適用版本。Java對于winpcap使用jnetpcap進(jìn)行支持。對于TCP、UPD、ICMP、ARP、廣播數(shù)據(jù)包五種類型的包,在jnetpcap的jar包中大部分已經(jīng)封裝好了相關(guān)的實體類型。對應(yīng)如下:ARP 實體類:。UPD 實體類:。IP 實體類:。TCP 實體類:。UDP 實體類:。 而對于其中的廣播數(shù)據(jù)包,其判斷我利用捕獲到的IP包的目的地址進(jìn)行判斷,則認(rèn)為其為廣播數(shù)據(jù)包。 功能類實現(xiàn)(1)網(wǎng)卡獲取電腦上的包的發(fā)送與接受都得通過網(wǎng)卡來進(jìn)行,所以為了完成局域網(wǎng)數(shù)據(jù)包的捕獲和統(tǒng)計,我首先要做的是獲取到電腦上的網(wǎng)卡列表,然后選擇一個網(wǎng)卡進(jìn)行包的捕獲。而相關(guān)代碼在jnetpcap的官網(wǎng)的示例代碼1中可以找到,從中可以學(xué)習(xí)到的是jnetpcap的各種使用方法。在我電腦上可以捕獲到三個網(wǎng)卡,一個是本機(jī)自身的物理網(wǎng)卡,另外兩個是虛擬機(jī)模擬出的虛擬網(wǎng)卡。(2) 包的抓捕Jnetpcap中包的抓捕也是有著固定的格式的,這在官網(wǎng)的示例代碼中也是可以找到的,只要設(shè)置好相關(guān)的參數(shù),就可以進(jìn)行抓捕具體方法如下,利用Pcap對象的loop方法。就是實例化一個Pcap對象,然后調(diào)用其loop方法。第一個參數(shù)arg0 代表循環(huán)次數(shù),第二個參數(shù)就是傳入一個PcapPaketHandler或其子類的對象,這個對象類型是要由我們自己編寫的對包處理的方法。(3) 包的處理在這里對捕獲的包的處理我是編寫了一個PcapPacketHandler的子類,然后重寫了nextPacket()方法。(packet)。(packet)方法是由我自己編寫的。handlePacket是packetMatch的一個靜態(tài)方法,可以直接調(diào)用。在這個方法里面,它會把捕獲到的包的包頭和TCP、UPD、ICMP、ARP、廣播數(shù)據(jù)包五種類型的包的包頭進(jìn)行一一比較,以確認(rèn)是否抓到了了相對應(yīng)的包。這兒還用到的就是jnetpcap的內(nèi)部的一個方法,(arg0),通過在arg0傳入已在jnetpcap里封裝好的包的類型的實例,可以很好的判斷該包是屬于什么包類型的,是TCP、UPD、ICMP、ARP還是廣播數(shù)據(jù)包。然后內(nèi)部對于各種包的信息的輸出也有很好的支持,可以直接使用相應(yīng)的toString方法,就可以輸出各種相關(guān)信息。(4) 網(wǎng)絡(luò)流量統(tǒng)計對于各個捕獲到的包,分別針對各種類型的包設(shè)計了一個Double變量用于統(tǒng)計其傳送過來相應(yīng)包頭的大小,并在停止抓包后將統(tǒng)計的數(shù)據(jù)輸出在最下方的TextArea里面。 界面實現(xiàn)本程序在設(shè)計GUI時使用了Java的一個很好的插件WindowBuilder。(1)布局一開始使用Border Layout布局,安排好各個按鈕位置,文本框位置。后來采用Absolute layout,并將窗口大小固定化。在布局的最上方是一個JToolBar的實例對象,其中放置有選擇網(wǎng)卡、開始抓包、停止抓包、清空記錄等四個選項,中間是兩個帶滾動條的多行文本框,左邊的用于顯示捕獲的包的列表,右邊用于顯示左邊的我們選中的包的具體信息。最下方會在停止抓包按鈕生效后輸出總的抓包情況。(2) 按鈕功能連接在布局的最上方是一個JToolBar的實例對象,其中放置有選擇網(wǎng)卡、開始抓包、停止抓包、清空記錄等四個選項,其中選擇網(wǎng)卡的功能具體由JComboBox(多文本選擇框)上的選項決定,這個多文本選擇框監(jiān)聽著 網(wǎng)卡獲取的方法,它會從該方法獲得一個網(wǎng)卡列表,然后將其文本輸出。開始抓包的方法所對應(yīng)的事件是抓包的事件,并且該抓包事件是個并發(fā)的進(jìn)程。因為如果不將其設(shè)置為并發(fā)進(jìn)程,其會使其它事件一直阻塞,甚至連停止抓包都做不到。停止抓包的事件其實是改變了開始抓包中的一個標(biāo)志位,讓其為假。該標(biāo)志為為真,抓包程序會一直進(jìn)行,該標(biāo)志為為假,抓包停止。下方兩個文本框,左邊的文本框監(jiān)聽的是開始抓包這個事件,當(dāng)這個事件開始,這個事件會向文本框傳輸捕獲到的包的列表,然后讓其顯示。而右邊的文本框監(jiān)聽的是左邊文本框我們選中的內(nèi)容的相應(yīng)事件。因為對于我們捕獲到的包我進(jìn)行了編號,當(dāng)我們在左邊的文本框
點擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1