



下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
集美大學計算機工程學院實驗報告課程名稱:TCP/IP協議與通訊程序設計班級:實驗成績:實驗項目名稱:網絡嗅探器的編程仿真學號:上機實踐日期:2016-06-14實驗項目編號:12組號:1上機實踐時間:2學時一、實驗目的認識利用原始套接字進行通訊程序的編寫,編譯和執行。二、實驗內容與設計思想利用原始套接字編程將網卡設置為混雜模式,對網絡上傳輸的數據包進行捕捉與剖析,要求析出并顯示數據包的發送端IP地址以及接收端的IP地址。三、實驗使用環境操作系統:
MicrosoftWindowsXPSP2編程環境:
VisualC++6.0四、實驗步驟和調試過程源代碼:#include"initsock.h"#include"protoinfo.h"#include<stdio.h>#include"mstcpip.h"#pragmacomment(lib,"Advapi32.lib")CInitSocktheSock;剖析tcp數據voidDecodeTCPPacket(char*pData){TCPHeader*pTCPHdr=(TCPHeader*)pData;printf("Port:%d->%d\n",ntohs(pTCPHdr->sourcePort),ntohs(pTCPHdr->destinationPort));下邊還可以依據目的端口號進一步剖析應用層協議switch(::ntohs(pTCPHdr->destinationPort)){case21:break;case80:case8080:break;}}剖析ip數據voidDecodeIPPacket(char*pData){IPHeader*pIPHdr=(IPHeader*)pData;in_addrsource,dest;charszSourceIp[32],szDestIp[32];printf("\n\n-------------------------------\n");從IP頭中拿出源IP地址和目的IP地址source.S_un.S_addr=pIPHdr->ipSource;dest.S_un.S_addr=pIPHdr->ipDestination;strcpy(szSourceIp,::inet_ntoa(source));strcpy(szDestIp,::inet_ntoa(dest));printf("%s->%s\n",szSourceIp,szDestIp);IP頭長度intnHeaderLen=(pIPHdr->iphVerLen&0xf)*sizeof(ULONG);switch(pIPHdr->ipProtocol){協議DecodeTCPPacket(pData+nHeaderLen);break;caseIPPROTO_UDP:break;caseIPPROTO_ICMP:break;}}voidmain( ){創辦原始套節字SOCKETsRaw=socket(AF_INET,SOCK_RAW,IPPROTO_IP);獲適合地IP地址charszHostName[56];SOCKADDR_INaddr_in;structhostent*pHost;gethostname(szHostName,56);if((pHost=gethostbyname((char*)szHostName))==NULL)return;在調用ioctl從前,套節字必定綁定addr_in.sin_family=AF_INET;addr_in.sin_port=htons(0);將當地ip復制到addr_in結構體memcpy(&addr_in.sin_addr.S_un.S_addr,pHost->h_addr_list[0],pHost->h_length);//ip變換為字符串輸出printf("Bindingtointerface:%s\n",::inet_ntoa(addr_in.sin_addr));if(bind(sRaw,(PSOCKADDR)&addr_in,sizeof(addr_in))==SOCKET_ERROR){}//return;設置SIO_RCVALL控制代碼,以便接收全部的IP包DWORDdwValue=1;設置原始套接字能接收全部數據if(ioctlsocket(sRaw,SIO_RCVALL,&dwValue)!=0){}return;開始接收封包charbuff[1024];intnRet;while(TRUE){nRet=recv(sRaw,buff,1024,0);if(nRet>0){DecodeIPPacket(buff);}}closesocket(sRaw);}執行結果:查察當地的ip五、實驗小結為了使網卡接收全部經過它的封包,要將網卡設置為混雜模式,詳盡是在創辦原始
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 山東省德州市重點名校2025屆中考物理試題仿真題含解析
- 江西省撫州市金溪縣市級名校2025年初三下學期階段性測試(四)數學試題含解析
- 安保服務合作合同
- 山東省濟寧市2025年初三8月月考化學試題含解析
- 智慧農業技術與農民福祉提升研究
- 二手車交易與服務合同范本
- 信息技術服務購銷合同2025
- 駕校車輛租賃合同
- 自愿離婚財產分配及贍養合同
- 人教版小學數學二年級下冊期末綜合素養測評A卷(含答案)
- 甲狀旁腺功能減亢進的護理
- (高清版)JTG 3370.1-2018 公路隧道設計規范 第一冊 土建工程
- 《生理學》-血液循環-選擇題(A型)
- 電氣工程接地用銅覆鋼技術條件
- 2.1碳排放與環境安全學案高中地理選擇性必修三
- 社區獲得性肺炎治療指南
- 人事行政工作成功典范總結
- 三年級語文下冊 期中綜合模擬測試卷(人教版)
- (新版)制絲操作工(二級)理論考試復習題庫-下(多選、判斷題匯總)
- 會議室改造方案
- 丙烯酰胺生產工藝
評論
0/150
提交評論