湖南工业大学
课 程 设 计
资 料 袋
计算机与通信学院 学院(系、部) 2013 ~ 2014 学年第 1 学期
课程名称 网络协议分析 指导教师 李建设 职称 副教授
学生姓名 陈彦兵 专业班级 网络1101 学号 11408400108
题 目 数据包的捕获与分析
成 绩 起止日期 2013 年 11 月 12 日~ 2013 年 11 月 25 日
目 录 清 单
序号 | 材 料 名 称 | 资料数量 | 备 注 | |
1 | 课程设计任务书 | |||
2 | 课程设计说明书 | |||
3 | ||||
4 | ||||
5 | ||||
6 | ||||
课程设计任务书
2013 —2014学年第 1 学期
学院(系、部) 计算机与通信学院 专业 网络工程 班级 111-2
课程名称: 网络协议分析 学生姓名: 陈彦兵
设计题目: 数据包的捕获与分析 指导教师: 李建设
完成期限:自 2013 年 11 月 12 日至 2013 年 11 月 25 日 共 2 周
内 容 及 任 务 | 一、设计内容 程序在Windows窗口环境下捕获IP数据报,并解析出各个字段信息,显示在窗口中。 1. 捕获网络中的IP数据包,解析数据包的内容,显示结果,并将结果写入日志文件。 2. 显示的内容包括:捕获的IP包的版本、头长度、服务类型、数据包总长度、数据包标识、分段标志、分段偏移值、生存时间、上层协议类型、头校验和、源IP地址和目的IP地址等内容。 3. 设置停止标志,当程序接收到停止命令时即停止。 二、设计任务 课程设计说明书(纸质+电子版),内容包括:设计内容、系统分析(包括可行性分析、需求分析等)及功能分析;系统设计(要求画出系统整体功能框图、流程图、并给出相应地关键的代码且对所使用的主要数据结构进行说明等。)、设计总结(评价/遇到的问题/体会/建议等)、使用说明等。 三、设计要求 1. 按功能要求开发系统,能正确运行。程序代码书写规范,有充足的注释。 2. 课程设计所使用的编程语言任选,但建议使用C和C++; 3. 绿软件:程序运行不需安装,避免写系统和注册表; | |
进 度 安 排 | 起止日期 | 工作内容 |
2013-11-12~2013-11-15 | 选题 | |
2013-11-16~2013-11-17 | 系统分析和设计; | |
2013-11-18~2013-11-23 | 熟悉软件开发工具、编码系统、系统测试 | |
2013-11-24~2013-11-25 | 撰写并提交课程设计说明书 (含电子文档)、源程序等。 | |
主 要 参 tcp ip协议下载考 资 料 | [1] (美)W.Rechard Steven著,范建华等译,《TCP/IP详解》卷1:协议,机械工业出版社, 2000.4 [2](美)Douglas E.Comer著,林瑶等译,《用TCP/IP进行网际互联》第1卷-原理、协议与结构(第5版, 电子工业出版社)2007.2; [3] (荷) Andrew S.Tanenbaum著,潘爱民译. 《计算机网络》(第4版),清华大学出版社, 2004 [4]谢希仁著.《计算机网络》((第5版) ,电子工业出版社, 2008.1 [5]吴功宜等著.《计算机网络课程设计》,机械工业出版社,2005 | |
指导教师(签字): 年 月 日
系(教研室)主任(签字): 年 月 日
课程设计说明书
课程名称: 网络协议分析
设计题目: 数据包的捕获与分析
专 业: 网络工程 班级: 1101
学生姓名: 陈彦兵 学 号: 11408400108
指导教师:
年 月 日
1概述
1.1 课程设计的目的
设计一个GUI程序,实现IP、TCP、UDP数据包的捕获和解析,记录每个数据包的个数并进行详细的分析。通过编程了解各类数据报的结构,掌握网络编程的基本原理和方法。
1.2 用到的基本概念及原理
(1) UDP协议介绍
UDP协议的全称是用户数据报协议,在网络中它与TCP协议一样用于处理数据包。在OSI模型中,在第四层——传输层,处于IP协议的上一层。UDP有不提供数据报分组、组装和不能
对数据包的排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。 UDP用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用UDP协议。UDP协议从问世至今已经被使用了很多年,虽然其最初的光彩已经被一些类似协议所掩盖,但是即使是在今天,UDP仍然不失为一项非常实用和可行的网络传输层协议。
(2) TCP协议基本知识
TCP是一种面向连接(连接导向)的、可靠的、基于字节流的运输层通信协议。在OSI/RM模型中,它完成第四层传输层所指定的功能,UDP是同一层内另一个重要的传输协议。首先,TCP建立连接之后,通信双方都同时可以进行数据的传输,其次,他是全双工的;在保证可靠性上,采用超时重传和稍待确认机制。在流量控制上,采用滑动窗口协议,协议中规定,对于窗口内未经确认的分组需要重传。在拥塞控制上,采用慢启动算法。
1.3 Winpcap简介
开发Winpcap的目的是为Win32应用程序提供一种直接访问底层网的能力。通过Winpcap,
网络应用程序可以实现如下功能:捕获原始数据包,包括发送到本主机以及在共享网络上的数据包。数据过滤,在将数据包发送给应用程序之前按照用户的规定对捕获的数据包进行过滤。发送原始数据包。向网络发送原始数据包。数据包统计。对网络通信进行统计。
(1)Winpcap的组成与结构:
WinPcap由一个数据包监听设备驱动程序(NPF)、一个底层的动态连接库(packet.dll)和一个高层的不依赖于操作系统的静态库(wpcap.dll)共三个部分构成,如图2.5所示。这里,NPF在操作系统的内核级,packet.dll、wpcap.dll在用户级。
(2)WinPcap基本原理:
数据包过滤器。
数据包过滤器决定是否接收进来的数据包并把数据包拷贝给监听程序。数据包过滤器是一个有布尔输出的函数。
循环缓冲区。
循环缓冲区以队列插入的方式来保存数据包,提高数据的存储效率。
WinPcap引用:
到/devel.htm下载WinPcap 4.0.2.zip,然后解压,解压缩就可以看见Include和lib;在"Project->Settings"标签栏中选择"C/C++",在"Preprocessor definitions"的输入框里添加"WPCAP";再选择"Link",在"Object/library modules"的输入框里添加"wpcap.lib "。然后再设置VC++环境变量:选择Tools->options->Directories的include里面
加入下载的winpcap开发包解压以后的include文件夹。选择Tools->options->Directories的lib里面加入下载的winpcap开发包解压以后的lib文件夹。在stdafx中加入#include <pcap.h>
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论