《网络编程与协议分析》课程设计报告(共22页).doc
《《网络编程与协议分析》课程设计报告(共22页).doc》由会员分享,可在线阅读,更多相关《《网络编程与协议分析》课程设计报告(共22页).doc(22页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上计算机科学与技术学院课程设计成绩单课程名称:网络编程与协议分析 指导教师: 姓名性别男学号班级综合成绩成绩等级程序运行情况(占总成绩20%)能正确运行 基本能正确运行 能运行但结果不完善(20分) (15分) (10分)程序功能的完善程度(占总成绩10%)完善 基本完善 不完善(10分) (8分) (5分)程序结构的合理性(占总成绩10%)合理 基本合理 不太合理(10分) (8分) (5分)对问题的答辩情况(占总成绩40%)概念正确有创新 能正确回答所有问题 基本能正确回答(40分) (35分) (30分)部分问题回答概念不清晰(20分)学生的工作态度与独立工作能力
2、(占总成绩10%)工作态度认真能独立完成任务 工作态度认真但独立性较差(10分) (8分)工作态度基本认真但缺乏独立性(5分)设计报告的规范性(占总成绩10%)符合规范 基本符合规范 规范性较差(10分) (8分) (5分)优秀:90分100分 良好:80分89分 中等:7079分 及格:6069分 不及格0分59分 武汉科技大学计算机科学与技术学院制表 计算机科学与技术学院 课 程 设 计 报 告课程名称:网络编程与协议分析专 业: 班 级: 学 号: 姓 名: 指导老师: 网络编程与协议分析课程设计报告一、课设题目:网络数据包抓取与分析软件二、课设要求:1) 能抓取本地主机所在局域网子网内
3、的所有数据包2) 分析并显示所抓取数据包的IP头部各字段的信息3) 分析并显示所抓取数据包的封装在IP数据包内的协议头部字段信息(TCP、UDP、ICMP等)4) 生成日志信息,以文本文档形式保存5) 分析并显示所抓取数据包应用层协议头部字段信息(HTTP、FTP、DNS、Telnet、SMTP、POP等各种应用层协议中至少取三种)三、用到的基本概念及原理(3)Winpcap的组成和结构(4)Winpcap基本原理(5)NPF在windows系统中的位置(6)系统构架四、部分代码1)初始化套接字BOOL CTestDlg:SockInit()WSADATA wsa;if(WSAStartup(
4、MAKEWORD(2,2),&wsa)!=0)AfxMessageBox(WSAStartup fail!);m_sock=socket(AF_INET,SOCK_RAW,0);if(m_sock=INVALID_SOCKET)AfxMessageBox(socket fail!);SOCKADDR_IN addr;addr.sin_family=AF_INET;addr.sin_port=htons(5000);struct hostent FAR * pHostent;char FAR name25;gethostname(name, 25);pHostent = gethostbynam
5、e(name);memcpy(&addr.sin_addr.S_un.S_addr,pHostent-h_addr_list0,pHostent-h_len);if(bind(m_sock,(SOCKADDR *)&addr,sizeof(addr)!=0)AfxMessageBox(bind fail!);DWORD dwBytesRet;unsigned int optval = 1;int pCount=0;if(INVALID_SOCKET=(WSAIoctl(m_sock,SIO_RCVALL,&optval,sizeof(optval), NULL, 0, &dwBytesRet,
6、 NULL, NULL)AfxMessageBox(WSAIoctl Fail!);return false;return true;2)初始化表格BOOL CTestDlg:ListInit()DWORD dwStyle = GetWindowLong(m_List.m_hWnd, GWL_STYLE);SetWindowLong(m_List.m_hWnd,GWL_STYLE,dwStyle|LVS_REPO);DWORD dwStyles = m_List.GetExStyle();dwStyles &= LVS_EX_CHECKBOXES;m_List.SetExtendedStyle
7、(dwStyles|LVS_EX_FULLROWSELECT|LVXGRIDLINES);m_List.InsertColumn(1,版本,LVCFMT_CENTER,40,0);m_List.InsertColumn(2,头部长度,LVCFMT_CENTER,60,1);m_List.InsertColumn(3,服务类型,LVCFMT_CENTER,60,2);m_List.InsertColumn(4,总长度,LVCFMT_CENTER,50,3);m_List.InsertColumn(5,标识符,LVCFMT_CENTER,50,4);m_List.InsertColumn(6,标志
8、位,LVCFMT_CENTER,50,5);m_List.InsertColumn(7,片偏移,LVCFMT_CENTER,50,6);m_List.InsertColumn(8,生存周期,LVCFMT_CENTER,60,7);m_List.InsertColumn(9,协议,LVCFMT_CENTER,40,8);m_List.InsertColumn(10,首部校验和,LVCFMT_CENTER,80,9);m_List.InsertColumn(11,源地址,LVCFMT_CENTER,100,10);m_List.InsertColumn(12,目的IP地址,LVCFMT_CENTE
9、R,100,11);return true;3)ip,tcp,udp,icmp头部定义struct ipheadunsigned char ip_EdiAndLen;/版本&首部长度unsigned char ip_Serve;/服务类型unsigned short int ip_Len;/总长度unsigned short int ip_Sign;/标识unsigned short int ip_MarkAndMove;/标识&片偏移unsigned char ip_Ttl;/生存时间unsigned char ip_Protocol;/上层协议unsigned short int ip_S
10、um;/首部校验和unsigned int ip_SoIp;/源ipunsigned int ip_DeIp;/目的ip;struct tcpheadunsigned short tcp_SoPort; /16位的源端口unsigned short tcp_DePort; /16位的目的端口unsigned int tcp_Seq; /32位的序列号unsigned int tcp_Ack; /32位的确认号unsigned char tcp_LenAndRes; /4位的首部长度和4位的保留字unsigned char tcp_Flag; /2位的保留字和6位的标志位unsigned sho
11、rt tcp_Win; /16位的窗口大小 unsigned short tcp_Wum; /16位校验和unsigned short tcp_Mov; /16位的紧急数据偏移量;struct udpheadunsigned short udp_SoPort;/源端口unsigned short udp_DePort;/目的端口unsigned short udp_Len;/总长度unsigned short udp_Sum;/校验和;struct icmpheadunsigned char icmp_Type; /类型unsigned char icmp_Code; /代码unsigned
12、short icmp_Sum; /16位检验和;4)“开始”按钮事件void CTestDlg:OnStart() / TODO: Add your control notification handler code hereDWORD code;if (!GetExitCodeThread(m_thr,&code) | (code != STILL_ACTIVE)alldata * recvdata=new alldata;recvdata-lis=&m_List;recvdata-sock=m_sock;m_thr=CreateThread(NULL,0,RecvProc,(LPVOID)
13、recvdata,0,NULL);CloseHandle(m_thr);elsem_List.DeleteAllItems();ResumeThread(m_thr);GetDlgItem(IDC_STOP)-EnableWindow(TRUE);GetDlgItem(IDC_START)-EnableWindow(FALSE);GetDlgItem(IDC_STOP)-SetFocus();5)数据包抓取与初步处理DWORD WINAPI CTestDlg:RecvProc(LPVOID lpParameter)SOCKET sock=(alldata*)lpParameter)-sock;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络编程与协议分析 网络 编程 协议 分析 课程设计 报告 22
限制150内