c原始套接字实现数据包捕捉课程设计报告.docx
- 文档编号:28070785
- 上传时间:2023-07-08
- 格式:DOCX
- 页数:7
- 大小:54.61KB
c原始套接字实现数据包捕捉课程设计报告.docx
《c原始套接字实现数据包捕捉课程设计报告.docx》由会员分享,可在线阅读,更多相关《c原始套接字实现数据包捕捉课程设计报告.docx(7页珍藏版)》请在冰豆网上搜索。
c原始套接字实现数据包捕捉课程设计报告
网络协议分析课程设计
---用原始套接字实现IP数据报捕捉
专业班级:
网络工程1班
姓名:
****
学号:
*********
指导教师:
2012年1月6日
一、项目打算书
1.编写目的
IP数据包是网络协议学习进程中容易接触到的,选择那个题目一是为了将自己的所学知识加以运用,二是希望通过探讨实践去实现题目,在实践和实际的项目中提高自己的编程能力。
2.项目简介
在通常情形下,网络通信的套接字程序只能响应与自己硬件地址相匹配的或是以广播形式发出的数据帧,关于其他形式的数据帧比如已抵达网络接口但却不是发给此地址的数据帧,网络接口在验证投递地址并非自身地址以后将不引发响应,也确实是说应用程序无法收取与自己无关的的数据包。
因此咱们要想实现截获流经网络设备的所有数据包,就要采取一点专门的手腕了:
将网卡设置为混杂模式。
如此一来,该主机的网卡就能够够捕捉到所有流经其网卡的数据包和帧。
3.项目概述
WindowsSockets的一些关于用C#实现的原始套接字(RawSocket)的编程,和在此基础上实现的网络封包监视技术。
同Winsock1相较,Winsock2最明显的确实是支持了RawSocket套接字类型,利用RawSocket,可把网卡设置成混杂模式,在这种模式下,咱们能够收到网络上的IP包,固然包括目的不是本机的IP包,通过原始套接字,咱们也能够加倍自如地操纵Windows下的多种协议,而且能够对网络底层的传输机制进行操纵。
4.工作内容
依照程序的结构,将程序需要实现的功能细化为相应的类属性和成员函数。
程序有一个RawSocket类,用于数据包相关捕捉和处置。
MainForm那么负责数据的标准化显示
5.实施打算
第一基础函数类设计分析,第二进行数据的标准化显示及排错工作,最后整体设计总结优化
6.项目实现功能
(1)统计捕捉的的IP数据报数量。
(2)显示捕捉的每一个IP数据报的版本、总长、标志位和片偏移、上层协议、源地址和目的地址。
(3)统计捕捉的TCP和UDP数据报数量
二、需求分析书
1.引言
1)目的
(1)把握IP数据报格式及IP协议原理。
(2)明白得IP地址欺骗的手腕和方式。
(3)把握原始套接字的利用。
2)背景
IP数据包是网络协议学习进程中容易接触到的,选择那个题目一是为了将自己的所学知识加以运用,二是希望通过探讨实践去实现题目,在实践和实际的项目中提高自己的编程能力。
因此我选定了那个题目。
3)参考资料
《C#网络程序开发案例教程》《网络信息平安概述》
2.整体概述
1)项目名称
原始套接字实现IP数据包捕捉分析
2)项目描述
WindowsSockets的一些关于用C#实现的原始套接字(RawSocket)的编程,和在此基础上实现的网络封包监视技术。
同Winsock1相较,Winsock2最明显的确实是支持了RawSocket套接字类型,利用RawSocket,可把网卡设置成混杂模式,在这种模式下,咱们能够收到网络上的IP包,固然包括目的不是本机的IP包,通过原始套接字,咱们也能够加倍自如地操纵Windows下的多种协议,而且能够对网络底层的传输机制进行操纵。
3)功能描述
1)统计捕捉的的IP数据报数量。
2)显示捕捉的每一个IP数据报的版本、总长、标志位和片偏移、上层协议、源地址和目的地址。
3)统计捕捉的TCP和UDP数据报数量
3.具体需求
1)功能需求
1)统计捕捉的的IP数据报数量。
2)显示捕捉的每一个IP数据报的版本、总长、标志位和片偏移、上层协议、源地址和目的地址。
3)统计捕捉的TCP和UDP数据报数量
2)性能需求
操作系统:
windowXpwindow7
开发平台:
Visual2020
三、项目设计说明书
1.要紧功能设计
依照分析,那个程序要实现如下几个功能,初始化、捕捉数据包、显示、导出日记。
其中捕捉数据包是程序的核心部份,是后续操作的基础。
程序结构如图2-1所示。
图2-1程序结构图
2.程序流程
依照分析后的程序结构图设计出相应的流程图。
内容要紧包括初始化,取得主机IP列表,绑定Socket,开始捕捉数据,分析数据,显示数据项,导出日记文件,依照用户操作退出程序。
图2-2流程图
四、软件功能及操作说明书
1.要紧功能
能够获取并显示当前主机名和IP地址
数据包捕捉并标准化显示
统计TCP/UDP及所有数据包数量
2.软件操作
利用了listview进行数据标准输出
开始和停止按钮开始执行后能够点击后隐藏,只能单一显现,幸免了一些没必要要的错误
清空按钮以后TCP和/UDP的统计也会跟从清空
五、测试分析与报告
1.引言
a)背景
待开发的项目的名称:
原始套接字实现IP数据包捕捉
本项目的任务提出者:
课程设计指导教师傅由甲
本项目的开发者:
张国鹏
b)参考资料
<
《网络信息平安概述》
c)硬件环境
CPU:
以上,内存:
128MB以上,显存:
64MB以上。
d)软件环境
操作系统:
Windows操作系统
操作平台:
Visual2020
2.测试简述
本次测试的要紧目的是通过项目能够实现题目所要求的大体数据包捕捉及分析功能
3.测试策略
通过调试和修改,程序完全实现设计要求,成功抓取了IP数据包,并分析显示了数据包各字段的信息,达到了这次实训的要求和目的。
程序正常运行,能够捕捉IP数据包,显示数据列表和数据项的详细信息
a)评判与总结
通过对项目的测试,能够实现实现了该项目的全数功能。
六、课程设计心得
通过这次课程设计,我收成了很多。
第一把所学知识加以利用和巩固,第二在实践中碰到问题去探讨和学习,更增加了新知识。
在程序设计编写进程中,利用异步来处置数据包的同意和处置,异步线程要添加数据项到主线程创建的界面,这就需要处置两个线程间的数据互换。
利用托管函数挪用主线程的控件,添加数据项,实践证明达到了预期的目的,积存了体会。
这次的课程设计使我把握了必然的网络编程知识,同时也把握了探讨问题解决问题的方式。
更好的明白得讲义的知识,为以后的进一步学习和考试打下良好的基础。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 原始 套接 实现 数据包 捕捉 课程设计 报告