版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 </p><p> 課 程 設(shè) 計(jì) 報(bào) 告</p><p> 課程名稱(chēng):網(wǎng)絡(luò)編程與協(xié)議分析</p><p> 專(zhuān) 業(yè): </p><p> 班 級(jí): </p><p> 學(xué)
2、 號(hào): </p><p> 姓 名: </p><p> 指導(dǎo)老師: </p><p> 《網(wǎng)絡(luò)編程與協(xié)議分析》課程設(shè)計(jì)報(bào)告</p><p><b> 一、課設(shè)題目:</b></p><
3、;p> 網(wǎng)絡(luò)數(shù)據(jù)包抓取與分析軟件</p><p><b> 二、課設(shè)要求:</b></p><p> 能抓取本地主機(jī)所在局域網(wǎng)子網(wǎng)內(nèi)的所有數(shù)據(jù)包</p><p> 分析并顯示所抓取數(shù)據(jù)包的IP頭部各字段的信息</p><p> 分析并顯示所抓取數(shù)據(jù)包的封裝在IP數(shù)據(jù)包內(nèi)的協(xié)議頭部字段信息(TCP、UDP、
4、ICMP等)</p><p> 生成日志信息,以文本文檔形式保存</p><p> 分析并顯示所抓取數(shù)據(jù)包應(yīng)用層協(xié)議頭部字段信息(HTTP、FTP、DNS、Telnet、SMTP、POP等各種應(yīng)用層協(xié)議中至少取三種)</p><p> 三、用到的基本概念及原理</p><p> ?。?)Winpcap的組成和結(jié)構(gòu)</p>
5、<p> (4)Winpcap基本原理</p><p> ?。?)NPF在windows系統(tǒng)中的位置</p><p><b> (6)系統(tǒng)構(gòu)架</b></p><p><b> 四、部分代碼</b></p><p><b> 1)初始化套接字</b></
6、p><p> BOOL CTestDlg::SockInit()</p><p><b> {</b></p><p> WSADATA wsa;</p><p> if(WSAStartup(MAKEWORD(2,2),&wsa)!=0)</p><p><b> {&l
7、t;/b></p><p> AfxMessageBox("WSAStartup fail!");</p><p><b> }</b></p><p> m_sock=socket(AF_INET,SOCK_RAW,0);</p><p> if(m_sock==INVALID_SOC
8、KET)</p><p><b> {</b></p><p> AfxMessageBox("socket fail!");</p><p><b> }</b></p><p> SOCKADDR_IN addr;</p><p> addr
9、.sin_family=AF_INET;</p><p> addr.sin_port=htons(5000);</p><p> struct hostent FAR * pHostent;</p><p> char FAR name[25];</p><p> gethostname(name, 25);</p>
10、<p> pHostent = gethostbyname(name);</p><p> memcpy(&addr.sin_addr.S_un.S_addr,pHostent->h_addr_list[0],pHostent->h_len);</p><p> if(bind(m_sock,(SOCKADDR *)&addr,sizeof(ad
11、dr))!=0)</p><p><b> {</b></p><p> AfxMessageBox("bind fail!");</p><p><b> }</b></p><p> DWORD dwBytesRet;</p><p> un
12、signed int optval = 1;</p><p> int pCount=0;</p><p> if(INVALID_SOCKET==(WSAIoctl(m_sock,SIO_RCVALL,&optval,sizeof(optval), NULL, 0, &dwBytesRet, NULL, NULL)))</p><p><
13、b> {</b></p><p> AfxMessageBox("WSAIoctl Fail!");</p><p> return false;</p><p><b> }</b></p><p> return true;</p><p>&
14、lt;b> }</b></p><p><b> 2)初始化表格</b></p><p> BOOL CTestDlg::ListInit()</p><p><b> {</b></p><p> DWORD dwStyle = GetWindowLong(m_List
15、.m_hWnd, GWL_STYLE);</p><p> SetWindowLong(m_List.m_hWnd,GWL_STYLE,dwStyle|LVS_REPO);</p><p> DWORD dwStyles = m_List.GetExStyle();</p><p> dwStyles &= ~LVS_EX_CHECKBOXES;<
16、;/p><p> m_List.SetExtendedStyle(dwStyles|LVS_EX_FULLROWSELECT|LVXGRIDLINES);</p><p> m_List.InsertColumn(1,"版本",LVCFMT_CENTER,40,0);</p><p> m_List.InsertColumn(2,"頭
17、部長(zhǎng)度",LVCFMT_CENTER,60,1);</p><p> m_List.InsertColumn(3,"服務(wù)類(lèi)型",LVCFMT_CENTER,60,2);</p><p> m_List.InsertColumn(4,"總長(zhǎng)度",LVCFMT_CENTER,50,3);</p><p> m_Li
18、st.InsertColumn(5,"標(biāo)識(shí)符",LVCFMT_CENTER,50,4);</p><p> m_List.InsertColumn(6,"標(biāo)志位",LVCFMT_CENTER,50,5);</p><p> m_List.InsertColumn(7,"片偏移",LVCFMT_CENTER,50,6);<
19、/p><p> m_List.InsertColumn(8,"生存周期",LVCFMT_CENTER,60,7);</p><p> m_List.InsertColumn(9,"協(xié)議",LVCFMT_CENTER,40,8);</p><p> m_List.InsertColumn(10,"首部校驗(yàn)和"
20、;,LVCFMT_CENTER,80,9);</p><p> m_List.InsertColumn(11,"源地址",LVCFMT_CENTER,100,10);</p><p> m_List.InsertColumn(12,"目的IP地址",LVCFMT_CENTER,100,11);</p><p> retu
21、rn true;</p><p><b> }</b></p><p> 3)ip,tcp,udp,icmp頭部定義</p><p> struct iphead</p><p><b> {</b></p><p> unsigned char ip_EdiAnd
22、Len;//版本&首部長(zhǎng)度</p><p> unsigned char ip_Serve;//服務(wù)類(lèi)型</p><p> unsigned short int ip_Len;//總長(zhǎng)度</p><p> unsigned short int ip_Sign;//標(biāo)識(shí)</p><p> unsig
23、ned short int ip_MarkAndMove;//標(biāo)識(shí)&片偏移</p><p> unsigned char ip_Ttl;//生存時(shí)間</p><p> unsigned char ip_Protocol;//上層協(xié)議</p><p> unsigned short int ip_Sum;//首部校驗(yàn)和<
24、/p><p> unsigned int ip_SoIp;//源ip</p><p> unsigned int ip_DeIp;//目的ip</p><p><b> };</b></p><p> struct tcphead</p><p><b> {&
25、lt;/b></p><p> unsigned short tcp_SoPort; //16位的源端口</p><p> unsigned short tcp_DePort; //16位的目的端口</p><p> unsigned int tcp_Seq; //32位的序列號(hào)</p><
26、;p> unsigned int tcp_Ack; //32位的確認(rèn)號(hào)</p><p> unsigned char tcp_LenAndRes; //4位的首部長(zhǎng)度和4位的保留字</p><p> unsigned char tcp_Flag; //2位的保留字和6位的標(biāo)志位</p><p> unsi
27、gned short tcp_Win; //16位的窗口大小</p><p> unsigned short tcp_Wum; //16位校驗(yàn)和</p><p> unsigned short tcp_Mov; //16位的緊急數(shù)據(jù)偏移量</p><p><b> };</b><
28、/p><p> struct udphead</p><p><b> {</b></p><p> unsigned short udp_SoPort;//源端口</p><p> unsigned short udp_DePort;//目的端口</p><p> unsigne
29、d short udp_Len;//總長(zhǎng)度</p><p> unsigned short udp_Sum;//校驗(yàn)和</p><p><b> };</b></p><p> struct icmphead</p><p><b> {</b></p><p
30、> unsigned char icmp_Type; //類(lèi)型</p><p> unsigned char icmp_Code; //代碼</p><p> unsigned short icmp_Sum; //16位檢驗(yàn)和</p><p><b> };</b></p><p&
31、gt; 4)“開(kāi)始”按鈕事件</p><p> void CTestDlg::OnStart() </p><p><b> {</b></p><p> // TODO: Add your control notification handler code here</p><p> DWORD code;&
32、lt;/p><p> if (!GetExitCodeThread(m_thr,&code) || (code != STILL_ACTIVE))</p><p><b> {</b></p><p> alldata * recvdata=new alldata;</p><p> recvdata-
33、>lis=&m_List;</p><p> recvdata->sock=m_sock;</p><p> m_thr=CreateThread(NULL,0,RecvProc,(LPVOID)recvdata,0,NULL);</p><p> CloseHandle(m_thr);</p><p><b
34、> }</b></p><p><b> else</b></p><p><b> {</b></p><p> m_List.DeleteAllItems();</p><p> ResumeThread(m_thr);</p><p><
35、;b> }</b></p><p> GetDlgItem(IDC_STOP)->EnableWindow(TRUE);</p><p> GetDlgItem(IDC_START)->EnableWindow(FALSE);</p><p> GetDlgItem(IDC_STOP)->SetFocus();</p
36、><p><b> }</b></p><p> 5)數(shù)據(jù)包抓取與初步處理</p><p> DWORD WINAPI CTestDlg::RecvProc(LPVOID lpParameter)</p><p><b> {</b></p><p> SOCKET s
37、ock=((alldata*)lpParameter)->sock;</p><p> CListCtrl * lis=(CListCtrl *)(((alldata*)lpParameter)->lis);</p><p> struct iphead *ih;</p><p> SOCKADDR_IN tem;</p><p
38、> char RecvBuf[65535] = {0};</p><p> char soip[16];</p><p> char deip[16];</p><p> char buf[100];</p><p><b> int i=0;</b></p><p><b&
39、gt; while(1)</b></p><p><b> {</b></p><p> if(int a=recv(sock,ddat[++count].buff,sizeof(ddat[count].buff),0)<=0)</p><p><b> continue;</b></p&g
40、t;<p> ih=(struct iphead *)(ddat[count].buff);</p><p> tem.sin_addr.s_addr=ih->ip_SoIp;</p><p> strncpy(soip,inet_ntoa(tem.sin_addr),16);</p><p> tem.sin_addr.s_addr=i
41、h->ip_DeIp;</p><p> strncpy(deip,inet_ntoa(tem.sin_addr),16);</p><p> lis->InsertItem(i, "fdgfg"); </p><p> sprintf(buf,"%d",ih->ip_EdiAndLen>>
42、4);</p><p> lis->SetItemText(i,0,buf);</p><p> sprintf(buf,"%d",ih->ip_EdiAndLen&0xf);</p><p> lis->SetItemText(i,1,buf);</p><p> sprintf(buf
43、,"%d",ih->ip_Serve);</p><p> lis->SetItemText(i,2,buf);</p><p> sprintf(buf,"%d",ih->ip_Len);</p><p> lis->SetItemText(i,3,buf);</p><p&
44、gt; sprintf(buf,"%d",ih->ip_Sign);</p><p> lis->SetItemText(i,4,buf);</p><p> sprintf(buf,"%d",ih->ip_MarkAndMove >>13);</p><p> lis->SetIt
45、emText(i,5,buf);</p><p> sprintf(buf,"%d",ih->ip_MarkAndMove&0x1fff);</p><p> lis->SetItemText(i,6,buf);</p><p> sprintf(buf,"%d",ih->ip_Ttl);<
46、;/p><p> lis->SetItemText(i,7,buf);</p><p> switch((int)ih->ip_Protocol)</p><p><b> {</b></p><p> case 1:sprintf(buf,"%s","ICMP&qu
47、ot;);break;</p><p> case 2:sprintf(buf,"%s","IGMP");break;</p><p> case 6:sprintf(buf,"%s","TCP");break;</p><p> case 8:sprintf(buf,"
48、%s","EGP");break;</p><p> case 9:sprintf(buf,"%s","IGP");break;</p><p> case 17:sprintf(buf,"%s","UDP");break;</p><p> case
49、 41:sprintf(buf,"%s","IPv6");break;</p><p> case 89:sprintf(buf,"%s","OSPF");break;</p><p> default:sprintf(buf,"%s","Error");</p
50、><p><b> }</b></p><p> lis->SetItemText(i,8,buf);</p><p> sprintf(buf,"%d",ih->ip_Sum);</p><p> lis->SetItemText(i,9,buf);</p>&
51、lt;p> sprintf(buf,"%s",soip);</p><p> lis->SetItemText(i,10,buf);</p><p> sprintf(buf,"%s",deip);</p><p> lis->SetItemText(i,11,buf);</p><
52、;p><b> i++;</b></p><p> Sleep(100);</p><p><b> }</b></p><p> return true;</p><p><b> }</b></p><p><b> 6)
53、表格單擊事件</b></p><p> void CTestDlg::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult) </p><p><b> {</b></p><p> // TODO: Add your control notification handler code he
54、re</p><p> NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;</p><p> CString buf;</p><p> char tem[100];</p><p><b> int i;</b></p><p> if(p
55、NMListView->iItem != -1)</p><p><b> {</b></p><p> i=pNMListView->iItem;</p><p> CString strtemp;</p><p> CNewDlg newdlg;</p><p> iph
56、ead *iph=(iphead *)(ddat[i].buff);</p><p> tcphead th=*((tcphead *)(ddat[i].buff+(iph->ip_EdiAndLen&0xf)*4));</p><p> udphead uh=*((udphead *)(ddat[i].buff+(iph->ip_EdiAndLen&0xf
57、)*4));</p><p> icmphead ih=*((icmphead *)(ddat[i].buff+(iph->ip_EdiAndLen&0xf)*4));</p><p> switch((int)iph->ip_Protocol)</p><p><b> {</b></p><p&
58、gt;<b> case 6:</b></p><p> sprintf(tem,"源端口:%d\r\n",th.tcp_SoPort);</p><p><b> buf+=tem;</b></p><p> sprintf(tem,"目的端口:%d\r\n",th.tcp
59、_DePort);</p><p><b> buf+=tem;</b></p><p> sprintf(tem,"序列號(hào):%d\r\n",th.tcp_Seq);</p><p><b> buf+=tem;</b></p><p> sprintf(tem,&quo
60、t;確認(rèn)號(hào):%d\r\n",th.tcp_Ack);</p><p><b> buf+=tem;</b></p><p> sprintf(tem,"數(shù)據(jù)偏移:%d\r\n",th.tcp_LenAndRes>>4);</p><p><b> buf+=tem;</b>&
61、lt;/p><p> sprintf(tem,"保留:%d\r\n",th.tcp_LenAndRes&0xf);</p><p><b> buf+=tem;</b></p><p> sprintf(tem,"標(biāo)志:%d\r\n",th.tcp_Flag&0x3f);</p&g
62、t;<p><b> buf+=tem;</b></p><p> sprintf(tem,"窗口:%d\r\n",th.tcp_Win);</p><p><b> buf+=tem;</b></p><p> sprintf(tem,"校驗(yàn)和:%d\r\n"
63、,th.tcp_Wum);</p><p><b> buf+=tem;</b></p><p> sprintf(tem,"緊急指針:%d\r\n",th.tcp_Mov);</p><p><b> buf+=tem;</b></p><p> newdlg.m_da
64、ta=buf;</p><p><b> break;</b></p><p><b> case 17:</b></p><p> sprintf(tem,"源端口:%d\r\r\n",uh.udp_SoPort);</p><p><b> buf+=tem
65、;</b></p><p> sprintf(tem,"目的端口:%d\r\n",uh.udp_DePort);</p><p><b> buf+=tem;</b></p><p> sprintf(tem,"長(zhǎng)度:%d\r\n",uh.udp_Len);</p><
66、;p><b> buf+=tem;</b></p><p> sprintf(tem,"校驗(yàn)和:%d\r\n",uh.udp_Sum);</p><p><b> buf+=tem;</b></p><p> newdlg.m_data=buf;</p><p>&
67、lt;b> break;</b></p><p><b> case 1:</b></p><p> sprintf(tem,"類(lèi)型:%d\r\n",ih.icmp_Type);</p><p><b> buf+=tem;</b></p><p>
68、sprintf(tem,"代碼:%d\r\n",ih.icmp_Code);</p><p><b> buf+=tem;</b></p><p> sprintf(tem,"校驗(yàn)和:%d\r\n",ih.icmp_Sum);</p><p><b> buf+=tem;</b>
69、;</p><p> newdlg.m_data=buf;</p><p><b> break;</b></p><p><b> default:</b></p><p> AfxMessageBox("No Data!");</p><p>
70、 newdlg.m_data="";</p><p><b> }</b></p><p> newdlg.DoModal();</p><p><b> }</b></p><p> *pResult = 0;</p><p><b>
71、; }</b></p><p> 7)“停止”按鈕事件</p><p> void CTestDlg::OnStop() </p><p><b> {</b></p><p> // TODO: Add your control notification handler code here<
72、/p><p> SuspendThread(m_thr);</p><p> DWORD code;</p><p> CString strDate;</p><p> CString strBuf;</p><p> int index = m_List.GetItemCount();</p>
73、<p> int i,j = 0;</p><p> GetExitCodeThread(m_thr,&code);</p><p> if (code != STILL_ACTIVE)</p><p><b> {</b></p><p> AfxMessageBox("程序初始化
74、失?。n請(qǐng)檢查配置后重新運(yùn)行!");</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> CTime ttime = CTime::GetCurrentTime();<
75、;/p><p> strDate.Format("%d-%d-%d-",ttime.GetYear(),ttime.GetMonth(),ttime.GeD </p><p><b> ay());</b></p><p> strDate += ttime.Format("%H-%M-%S"
76、);</p><p> ofstream outfile("history\\" + strDate + ".log");</p><p> outfile<<setw(6)<<"版本"</p><p> <<setw(10)<<"頭部長(zhǎng)度&q
77、uot;</p><p> <<setw(10)<<"服務(wù)類(lèi)型"</p><p> <<setw(8)<<"總長(zhǎng)度"</p><p> <<setw(8)<<"標(biāo)識(shí)符"</p><p> <<
78、setw(8)<<"標(biāo)志位"</p><p> <<setw(8)<<"片偏移"</p><p> <<setw(10)<<"生存周期"</p><p> <<setw(6)<<"協(xié)議"</p
79、><p> <<setw(12)<<"首部校驗(yàn)和"</p><p> <<setw(20)<<"源地址"</p><p> <<setw(20)<<"目的IP地址"</p><p><b> <
80、;<endl;</b></p><p> while (j < index)</p><p><b> {</b></p><p> for (i = 0;i < 12;i++)</p><p><b> {</b></p><p>
81、strBuf = m_List.GetItemText(j,i);</p><p><b> switch(i)</b></p><p><b> {</b></p><p><b> case 0:</b></p><p> outfile<<setw(6
82、)<<strBuf;</p><p><b> break;</b></p><p><b> case 1:</b></p><p> outfile<<setw(10)<<strBuf;</p><p><b> break;</b&g
83、t;</p><p><b> case 2:</b></p><p> outfile<<setw(10)<<strBuf;</p><p><b> break;</b></p><p><b> case 3:</b></p>
84、<p> outfile<<setw(8)<<strBuf;</p><p><b> break;</b></p><p><b> case 4:</b></p><p> outfile<<setw(8)<<strBuf;</p>&l
85、t;p><b> break;</b></p><p><b> case 5:</b></p><p> outfile<<setw(8)<<strBuf;</p><p><b> break;</b></p><p><b>
86、; case 6:</b></p><p> outfile<<setw(8)<<strBuf;</p><p><b> break;</b></p><p><b> case 7:</b></p><p> outfile<<setw(
87、10)<<strBuf;</p><p><b> break;</b></p><p><b> case 8:</b></p><p> outfile<<setw(6)<<strBuf;</p><p><b> break;</b&
88、gt;</p><p><b> case 9:</b></p><p> outfile<<setw(12)<<strBuf;</p><p><b> break;</b></p><p><b> case 10:</b></p>
89、;<p> outfile<<setw(20)<<strBuf;</p><p><b> break;</b></p><p><b> case 11:</b></p><p> outfile<<setw(20)<<strBuf;</p>
90、;<p> outfile<<endl;</p><p><b> j++;</b></p><p> break;</p><p><b> }</b></p><p><b> }</b></p><p>
91、<b> }</b></p><p> outfile.close();</p><p> AfxMessageBox("數(shù)據(jù)已寫(xiě)入日志文件!");</p><p><b> }</b></p><p> GetDlgItem(IDC_STOP)->EnableW
92、indow(FALSE);</p><p> GetDlgItem(IDC_START)->EnableWindow(TRUE);</p><p> GetDlgItem(IDC_START)->SetFocus();</p><p><b> }</b></p><p><b> 五、
93、程序截圖</b></p><p><b> “開(kāi)始”</b></p><p><b> “停止”</b></p><p><b> TCP</b></p><p><b> UDP</b></p><p><
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 網(wǎng)絡(luò)協(xié)議分析課程設(shè)計(jì)---解析ip數(shù)據(jù)包
- 計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)---網(wǎng)絡(luò)協(xié)議數(shù)據(jù)包
- 網(wǎng)絡(luò)課程設(shè)計(jì)--發(fā)送tcp數(shù)據(jù)包
- 網(wǎng)絡(luò)游戲數(shù)據(jù)包的抓取與識(shí)別.pdf
- 高速網(wǎng)絡(luò)數(shù)據(jù)包協(xié)議分析系統(tǒng)的研究與實(shí)現(xiàn).pdf
- 網(wǎng)絡(luò)數(shù)據(jù)包的協(xié)議分析程序的設(shè)計(jì)開(kāi)發(fā)畢業(yè)設(shè)計(jì)
- 網(wǎng)絡(luò)構(gòu)建與協(xié)議分析課程設(shè)計(jì)
- 網(wǎng)絡(luò)數(shù)據(jù)包截獲與分析的研究與實(shí)現(xiàn).pdf
- 網(wǎng)絡(luò)數(shù)據(jù)包監(jiān)聽(tīng)與分析工具的模擬實(shí)現(xiàn)
- Internet網(wǎng)絡(luò)數(shù)據(jù)采集與數(shù)據(jù)包分析的應(yīng)用與研究.pdf
- 網(wǎng)絡(luò)協(xié)議實(shí)踐教程課程設(shè)計(jì)--網(wǎng)絡(luò)拓?fù)錁?gòu)建與協(xié)議分析
- 計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)tcp數(shù)據(jù)包
- 協(xié)議數(shù)據(jù)包的捕獲與分析實(shí)習(xí)報(bào)告
- 網(wǎng)絡(luò)協(xié)議分析與仿真課程設(shè)計(jì)報(bào)告
- IP網(wǎng)絡(luò)測(cè)量?jī)x網(wǎng)絡(luò)數(shù)據(jù)包采集與分析的研究與實(shí)現(xiàn).pdf
- php網(wǎng)絡(luò)數(shù)據(jù)包分析工具的設(shè)計(jì)與開(kāi)發(fā)(源代碼+論文)
- 網(wǎng)絡(luò)協(xié)議編程應(yīng)用課程設(shè)計(jì)
- tcp課程設(shè)計(jì)--網(wǎng)絡(luò)拓?fù)錁?gòu)建與協(xié)議分析
- 解析ip數(shù)據(jù)包課程設(shè)計(jì)
- 網(wǎng)絡(luò)數(shù)據(jù)包截獲分析系統(tǒng)的研究.pdf
評(píng)論
0/150
提交評(píng)論