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

正文內(nèi)容

計算機(jī)網(wǎng)絡(luò)課程設(shè)計大綱(已改無錯字)

2024-10-18 00 本頁面
  

【正文】 要內(nèi)容和網(wǎng)絡(luò)課程的學(xué)習(xí)是十分重要的,通過本次課程設(shè)計,有助于熟悉IP數(shù)據(jù)包格式并加深對IP協(xié)議的理解。 課程設(shè)計目的本次課程設(shè)計主要是通過用VC++編程實現(xiàn)對網(wǎng)絡(luò)中IP數(shù)據(jù)包流量的統(tǒng)計,實際上是編制程序,監(jiān)控網(wǎng)絡(luò),捕獲一段時間內(nèi)網(wǎng)絡(luò)上的IP數(shù)據(jù)包,按IP數(shù)據(jù)包的源地址統(tǒng)計出該源地址在該時間段內(nèi)發(fā)出的IP包的個數(shù),同時應(yīng)用Winpcap,Winpcap提供了很好的捕獲網(wǎng)絡(luò)數(shù)據(jù)包的方法,通過本次課程設(shè)計可以將VC++知識與Winpcap結(jié)合起來實現(xiàn)在一段時間內(nèi)對IP數(shù)據(jù)包的流量進(jìn)行統(tǒng)計。加深了對Winpcap的理解和運用能力,同時也增長了知識,開闊了視野,對于以后的學(xué)習(xí)有很大的幫助。 課程設(shè)計的要求(1)理解運用VC++軟件實現(xiàn)對網(wǎng)絡(luò)中的IP數(shù)據(jù)抱流量的統(tǒng)計方法和步驟。(2)鍛煉獨立編程和查閱文獻(xiàn)資料解決問題的能力。(3)通過課程設(shè)計培養(yǎng)嚴(yán)謹(jǐn)?shù)目茖W(xué)態(tài)度,認(rèn)真的工作作風(fēng)。 設(shè)計平臺Microsoft Visual C++ 2 設(shè)計原理IP是ICP/IP協(xié)議體系中的網(wǎng)絡(luò)層協(xié)議,TCP、UDP、ICMP和IGMP等其他協(xié)議都是以IP協(xié)議為基礎(chǔ)的。程序中用到的Winpcap是 Windows packetcapture的縮寫,這是UNIX下的lipbcap移植到Windows下的產(chǎn)物,是Win32環(huán)境下數(shù)據(jù)包捕獲的開放代碼函數(shù)庫。Winpcap由內(nèi)核級的數(shù)據(jù)包過濾器,底層動態(tài)鏈接庫()和一個高層的獨立于系統(tǒng)的庫()組成。 IP協(xié)議IP是TCP/IP模型中的網(wǎng)絡(luò)層協(xié)議,又稱為互聯(lián)網(wǎng)協(xié)議,是支持網(wǎng)間互連的數(shù)據(jù)報協(xié)議,它與TCP協(xié)議一起構(gòu)成了TCP/IP協(xié)議族的核心。它提供網(wǎng)間連接的完善功能,包括IP數(shù)據(jù)報規(guī)定互聯(lián)網(wǎng)范圍內(nèi)的IP地址格式。在因特網(wǎng)中IP協(xié)議是能使連接到網(wǎng)上的所有計算機(jī)網(wǎng)絡(luò)實現(xiàn)相互通信的一套規(guī)則,規(guī)定了計算機(jī)在因特網(wǎng)上進(jìn)行通信時應(yīng)當(dāng)遵守的規(guī)則。任何廠家生產(chǎn)的計算機(jī)系統(tǒng),只要遵守IP協(xié)議就可以與因特網(wǎng)互連互通。IP地址具有唯一性,根據(jù)用戶性質(zhì)的不同,可以分為不同的類別。IP協(xié)議的特點如下:IP協(xié)議是一種不可靠、無連接的數(shù)據(jù)報傳送協(xié)議。IP協(xié)議是點對點的網(wǎng)絡(luò)層通信協(xié)議。IP協(xié)議向通信層隱藏了物理網(wǎng)絡(luò)的差異。IP協(xié)議以一種數(shù)據(jù)報的形式傳輸數(shù)據(jù),每個數(shù)據(jù)報獨立傳輸,可能通過不同路徑傳輸,因此可能不按順序到達(dá)目的地,或者出現(xiàn)重復(fù)。 關(guān)于Winpcap庫Winpcap(windows packet capture)是windows平臺下一個開源的、公共的基于windows的網(wǎng)絡(luò)接口API庫。主要為win32應(yīng)用程序提供訪問網(wǎng)絡(luò)底層的能力。Winpcap的主要功能在于獨立于主機(jī)協(xié)議(如TCP/IP)發(fā)送和接收原始數(shù)據(jù)報。也就是說,Winpcap不能阻塞、過濾或控制其他應(yīng)用程序數(shù)據(jù)報的收發(fā),它只是監(jiān)聽共享網(wǎng)絡(luò)上傳送的數(shù)據(jù)報。其功能有:捕獲原始數(shù)據(jù)包,包括在共享網(wǎng)絡(luò)上各主機(jī)發(fā)送接收的以及相互之間交換的數(shù)據(jù)包;在數(shù)據(jù)包發(fā)往應(yīng)用程序之前,按照自定義的規(guī)則將某些特殊的數(shù)據(jù)包過濾掉;在網(wǎng)絡(luò)上發(fā)送原始數(shù)據(jù)包;收集網(wǎng)絡(luò)通信過程中的統(tǒng)計信息。Winpcap是針對win32平臺上的抓包和網(wǎng)絡(luò)分析的一個架構(gòu),它包括一個核心態(tài)的包過濾器,一個底層的動態(tài)鏈接庫()和一個高層的不依賴于系統(tǒng)的庫()。它由Packet、NPF(Netgroup Packet Filter)、Application組成,首先,抓包系統(tǒng)必須繞過操作系統(tǒng)的協(xié)議來訪問在網(wǎng)絡(luò)上傳輸?shù)脑紨?shù)據(jù)包,這就要求一部分運行在操作系統(tǒng)核心內(nèi)部,直接與網(wǎng)絡(luò)接口驅(qū)動交互。這個部分是系統(tǒng)依賴的,在Winpcap的解決方案里它被認(rèn)為是一個設(shè)備驅(qū)動,稱作NPF。其次,抓包系統(tǒng)必須有用戶級的程序接口,通過這些接口,用戶程序可以利用內(nèi)核驅(qū)動提供的高級特性。Winpcap提供了兩個不同的庫:。前者提供了一個底層API,伴隨著一個獨立于Microsoft操作系統(tǒng)的編程接口,這些API可以直接用來訪問驅(qū)動的函數(shù);后者導(dǎo)出了一組更強(qiáng)大的與libpcap一致的高層抓包函數(shù)庫。這些函數(shù)使得數(shù)據(jù)包的捕獲以一種與網(wǎng)絡(luò)硬件和操作系統(tǒng)無關(guān)的方式進(jìn)行。3 程序代碼設(shè)計步驟根據(jù)流量設(shè)計程序的主要功能,相應(yīng)的算法如下: 取得當(dāng)前網(wǎng)絡(luò)設(shè)備列表;將用戶選擇的網(wǎng)卡以混雜模式打開,以接收到所有的數(shù)據(jù)包; 設(shè)置過濾器;捕獲IP數(shù)據(jù)包的源地址進(jìn)行統(tǒng)計(用鏈表結(jié)構(gòu)進(jìn)行實現(xiàn))。獲取網(wǎng)卡列表是為了得到網(wǎng)卡的相關(guān)信息,以便于用戶進(jìn)行選擇,選取Ethermet網(wǎng)卡是用戶所選擇的網(wǎng)卡類型,編譯設(shè)置過濾器是為了編譯并設(shè)置過濾器是為了只捕獲網(wǎng)絡(luò)數(shù)據(jù)流的某些數(shù)據(jù),打開網(wǎng)卡既將網(wǎng)卡設(shè)置為混雜(統(tǒng)計)模式是為了接受所有經(jīng)過網(wǎng)卡的數(shù)據(jù)包,包括不是發(fā)給本機(jī)的數(shù)據(jù)包,開始主循環(huán)以是否超時為判斷條件,循環(huán)體內(nèi)主要有捕獲IP數(shù)據(jù)包、將IP包的源地址加入鏈表、條件判斷,循環(huán)結(jié)束后輸出鏈表內(nèi)容,程序至此結(jié)束。現(xiàn)將其每一步的具體步驟簡述如下://取得網(wǎng)絡(luò)適配器列表步驟中,alldevs是pcap_if_it指針,指向鏈表頭,errbuf是char類型數(shù)組,存儲錯誤信息。pcap_findalldevs(amp。alldevs,errbuf)。coutfor(d=alldevs。d。d=dnext){coutif(ddescription)coutelsecout} 指定要監(jiān)聽的網(wǎng)絡(luò)適配器并打開coutinum。for(d=alldevs,i=0。inext,i++)。fp=pcap_open_live(dname,65536,1,1000,errbuf)。 編譯并設(shè)置過濾器//編譯過濾器,fp指向打開的網(wǎng)絡(luò)適配器,fcode為編譯完成后的過濾器存儲地址,“tcp“給出了過濾條件,下一個參數(shù)表示是否被優(yōu)化(0為false,1為true),最后一個參數(shù)給出了子網(wǎng)掩碼。pcap_pile(fp,amp。fcode,”tcp”,1,netmask)pcap_setfilter(fp,amp。fcode) 設(shè)置網(wǎng)絡(luò)適配器為統(tǒng)計模式if(pcap_setmode(fp,MODE_STAT){coutpcap_close(fp)。} 開始主循環(huán),調(diào)用回調(diào)函數(shù)顯示網(wǎng)絡(luò)流量統(tǒng)計信息//pcap_loop由Winpcap庫定義,對每個采集來的數(shù)據(jù)包都用ProcessPacket函數(shù)進(jìn)行處理,fp指向打開的網(wǎng)絡(luò)適配器pcap_loop(fp,0,dispatcher_handler,(PUCHAR)amp。st_ts)。pcap_close(fp)。 回調(diào)函數(shù)的實現(xiàn)//對于捕獲到的每一個數(shù)據(jù)包應(yīng)用此回調(diào)函數(shù)void dispatcher_handler(u_char *state,const struct pcap_pkthdr *header,const u_char *pkt_data){struct timeval *old_ts=(struct timeval *)state。u_int delay。LARGE_INTEGER Bps,Pps。struct tm *ltime。char timestr[16]。time_t local_tv_sec。//計算距上一個數(shù)據(jù)包的時間延遲,以ms為單位//這個值是從與一個數(shù)據(jù)包相關(guān)的時間戳中截獲的delay=(headertv_sec)*1000000old_tstv_usec+header。//獲得每秒的比特數(shù)=(((*(LONGLONG*)(pkt_data+8))*8*1000000)/(delay))。//獲得每秒的數(shù)據(jù)包數(shù)=(((*(LONGLONG*)(pkt_data))*1000000)/(delay))。//將時間戳轉(zhuǎn)變位可讀的標(biāo)準(zhǔn)格式ltime=localtime(amp。header)。strftime(timestr,sizeof timestr,”%H:%M:%S“,ltime)。//Print timestampprintf(”%s“,timestr)。//Print the samplesprintf(”BPS=%I64u“,)。printf(”PPS=%I64un,)。//store current timestampold_tstv_sec=header。old_tstv_usec=header。}。4 結(jié)果及分析安裝好WinPcap軟件,在VC++界面上點擊工具選項目錄。添加Include文件夾下的所有文件和Lib下的所有內(nèi)容,調(diào)試完程序無誤后,點擊開始—運行“cmd”進(jìn)入目標(biāo)文件夾Debug下運行EXE文件。此時程序會檢測電腦系統(tǒng)中的網(wǎng)卡, 捕獲的IP地址和數(shù)據(jù)包的信息 常見問題及解決方法在剛開始做此課程設(shè)計的時候我只編寫了主程序代碼,并沒有建立工程,后來通過查找資料及文獻(xiàn)才知道要建立一個C++應(yīng)用工程,而且程序中用到的Winpcap庫文件C++中并沒有,前者是Winpcap的開發(fā)程序,后者是inlude文件和lib文件,這些都是需要自己手動添加的,這里include和lib文件夾里的東西VC++,出現(xiàn)error: Cannot open include file:’’:No such file or directory這個問題,就需要添加。具體步驟如下:第一步: 點菜單欄上的“工具“,再點擊下拉菜單中的”選項“對話框把winpcap開發(fā)包里面的lib文件添加進(jìn)去。第二步: 點擊菜單欄里的工程——設(shè)置,選擇連接在對象/,再點C/C++ 在“預(yù)處理程序定義”下輸入WPCAP和HAVE_REMOTE,要用逗號隔開。至此,Winpcap環(huán)境已部署好了不會再出錯了。接下來出錯的是程序中的一些函數(shù)的參數(shù),比如說int pcap_pile(pcap_t *p, struct bpf_program *fp,char *str,int optimize, bpf_u_int32 netmask),int pcap_setfilter(pcap_t *p, struct bpf_program *fp)函數(shù)的參數(shù)在程序編譯的時候會報錯,通過搜集資料及與同學(xué)交流初步更正了錯誤,但是程序并不是很順利地運行出來。第五篇:計算機(jī)網(wǎng)絡(luò)課程設(shè)計目錄一﹑實驗室概述...............................................................................................................................2二、設(shè)計需求分析總括...................................................................................................................教學(xué)的具體需求......................................................................................................實驗室的總體構(gòu)思..................................................................................................3三、實驗室的總體結(jié)構(gòu)規(guī)劃...........................................................................................................網(wǎng)絡(luò)實驗室總體結(jié)構(gòu)規(guī)劃......................................................................................................一般實驗室總體結(jié)構(gòu)規(guī)劃.....................
點擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1