数据包捕获实验实验报告
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
六、实验器材(设备、元器件):
1.硬件 一台连接在网络上的计算机,无论是外网或者内网皆可。故你的计算机上必须要有一张以 太网卡。 2.软件 Windows 平台操作系统 SnifferFox 发行版本 Winpcap
七、实验步骤及操作
在这里我们不打算介绍 SnifferFox 是的详细的设计和编码(因为这需要大量的篇幅),而是 介绍怎样使用我们开发的这个 Sniffer。更详细的信息请参考 SnifferFox 的教程。
在设计系统的时候我们就考虑到了这个问题,所以 SnifferFox 本身就是支持多语言的, 我们很容易对它进行扩展,只需要把 Lang/english 翻译成响应的语言就可以,不需要进行 任何的程序更改。系统中已经提供了中英两中语言的支持,可以很容易的切换。 4. 有比较好的扩展性
我们在语言,界面,协议方面都充分考虑到了其可扩展性。所以,要在这个版本的基 础上开发新的版本相对来说还是不难的。这样可以很好的复用现在的代码。 5. 操作方便
报告评分:
指导教师签字:
图表 2 Buffer Record
一个一个的
数据包组成。
我们不妨称每个包为一个记录。其长度是不固定的,主要是因为数据包的大小是没有办法确定
的。
它由 4 个部分构成,ID(4 字节),段偏移(4 字节),数据帧的相关信息(16 字节),数据(长度
不定,不过可以根据图中的计算公式来计算)。其中段偏移也就是记录长度,主要是用于确定
由于 Sniffer 截获的包的数据量是相当大的,所以把这些包都保存在内存中是不太现实的想 法,所以这里我们引进了操作系统中两个概念 Cache 和 Buffer。Cache 是临时保存数据包的一 个链表。为了不给用户的计算机带来太大的负担我们限制这个链表的最大长度为 5000。当这个
链表达到长度达到其用户设置的上限的时候,系统会自动把链表中的数据写到 Buffer 中,然后 把 Cache 清空。
3.SnifferFox 使用举例 3.1.截获 ICMP 3.2.截获 SMTP
八、实验数据及结果分析:
实验过程部分截图(部分):
选择网卡 数据包列表 Detail Panel
网卡详细信息
协议过滤器
数据包统计
托盘图标
九、实验结论:
经过多次地测试和分析,我们发现我们开发的这个 Sniffer 已经是一个相当稳定的版本, 非常成功地完成了实验的要求并且超越了实验的要求。无论是从功能,美工,稳定性,易 用性等各个方面来说 SnifferFox 都表现得相当出色。 1. 简单实用
这是我们考虑得比较多的一个问题,我们在尽量地让系统的操作方式符合人们的习惯, 使得用户觉得它方便好用。 6. 支持了比较多的协议
以太网中,SnifferFox 分析了 TCP/IP 族的几乎应用层以下的所有协议,应用层的协议 能够识别 112 个。
十、总结及心得体会:
通过对 SnifferFox 的开发我们学习到了不少的东西。具体如下: 1.熟悉了 Sniffer 的设计方法和工作原理 2.对 TCP/IP 协议有更深入的了解 3.对系统分析和设计设计有更深入的了解,增加了实践的经验 4.对开发工作 C++Builder 的熟练程度又进了一步 5.对界面设计的方法得到巩固 6.增加开发语言 C++的编程经历 7.网络编程开始入门
简单是我们追求的目标,尽管系统的设计和实现比较复杂,但是我们更希望用户看到 的是一个简单的系统而且是一个实用的系统。 2. 界面美观
SnifferFox 的 界 面 没 有 什 么 可 说 的 , 系 统 中 包 含 了 5 套 标 准 的 界 面 (Winxp,MacOS,Protein,DeepBlue,BlueGrass),在不用重新启动系统的情况下可以及时地更换 系统界面,而且是整体更换(当然这需要感谢我们的第 3 方控件)。 3. 多语言支持
实验报告
学生姓名:
学 号:
一、实验室名称:软件实验室
二、实验项目名称:数据包捕获实验
三、SnifferFox 工作原理:
软件首先把网卡设置为混杂模式,然后获得网卡接收到的数据,按 TCP/IP 协议对数据包进 行分析,按照用户的要求把一部分包过滤掉,然后再把这些等剩下的数据包写入缓冲区(一块 指定大小的内存块,可以根据用户计算机的内存大小手工设置),显示在用户界面上,当缓冲 区满了的时候,系统会自动把缓冲区的数据写入到外存中去。
熟悉 SnifferFox 的使用 参考 SnifferFox 的教程完成以下操作 1.安装/删除 SnifferFox
1.1. 安装 Winpcap 1.2. 安装 SnifferFox 1.3. 删除 SnifferFox
2.使用 SnifferFox 2.1.认识 SnifferFox 2.1.1 认识 SnifferFox 主界面 2.1.2 显示隐藏信息面板 2.2.使用 SnifferFox 2.2.1.数据包截取 2.2.2.数据包过滤 2.2.3.数据包统计 2.2.4.协议分析 2.2.5.智能排序 2.2.6.检测网卡信息 2.2.7.状态动态显示Baidu Nhomakorabea2.2.8 数据包的保存和载入 2.2.9.存储用户选项 2.2.10.更改界面风格 2.2.11.更改语言
记录的结束位置和下一个记录的开始位置。
寻找更多文档: 请直接参考 SnifferFox 的帮助文档.
四、实验目的:
了解网络数据包截获的原理和方法,掌握利用该原理进行网络数据包捕获程序的设计方 法。
五、实验内容:
开发一个 Sniffer,运行于 Windows 平台的嗅探器(Sniffer)。用于截获经过本地计算机指定网卡的 所有数据包,并且对这些包进行分析和统计。
4 bytes
4 bytes
Record Offset Identification (Record Size)
16 bytes
Fram e Inform ation
RecordSize - 4 - 4 - 16 bytes Original Ethernet Frame
Buffer 是 一个二进制 文件,它是由
下图是一个简单的说明。
图表 1 SnifferFox Data Flow Diagram
SnifferFox 是一个多线程的系统,大致可以分成 3 个线程(实现的时候实际只用了 2 个),抓 包线程(Sniffer Thread),协议分析和过滤的线程,用户界面。工作在数据链路层,因此可以获 得原始的数据帧,所以 SnifferFox 可以支持 ARP,RARP 等底层协议。