网络嗅探技术探索与设计毕业论文 - 图文

发布时间 : 星期五 文章网络嗅探技术探索与设计毕业论文 - 图文更新完毕开始阅读

山东农业大学学士学位论文

不与其它主机发生混乱,这是计算机中的网卡工作的结果。将网卡的接收模式进行适当改变就可以改变网卡的过滤策略,使网卡能够接收经过本网段的所有数据包,无论这些数据包的目的地址是否是该主机。可通过调用Winpcap的API函数来改变网卡的工作模式进而截获数据包。而且,根据网络数据过滤机制的原理,在截获数据包之前还可对数据包进行过滤,实现截获管理员感兴趣的数据的目的。

8

山东农业大学学士学位论文

3 系统概述

3.1 实现目标

(1)利用MFC设计完成网络嗅探器的界面,基本要求界面简洁、易操作。

(2)实现抓取数据包的功能,并能对数据包进行简单的分析如区分所获数据包的类型、大小、源地址及目的地址等。

(3)实现过滤功能如选择只抓取TCP、UCP、ICMP,并显示数据包的内容以及解析树。

(4)实现暂停抓取数据包功能。

(5)实现清空列表以及退出的功能。 3.2 开发环境分析 3.2.1 C++语言简介

美国AT&T贝尔实验室的本贾尼?斯特劳斯特卢普(Bjarne Stroustrup)博士在20世纪80年代初期发明并实现了C++(最初这种语言被称作“C with Classes”)。一开始C++是作为C语言的增强版出现的,从给C语言增加类开始,不断的增加新特性。虚函数(virtual function)、运算符重载(operator overloading)、多重继承(multiple inheritance)、模板(template)、异常(exception)、RTTI、命名空间(name space)逐渐被加入标准。1998年国际标准组织(ISO)颁布了C++程序设计语言的国际标准ISO/IEC 1988-1998。C++是具有国际标准的编程语言,通常称作ANSI/ISOC++。

C++语言的特点:C++设计成静态类型、和C同样高效且可移植的多用途程序设计语言。C++设计成直接的和广泛的支援多种程序设计风格(程序化程序设计、资料抽象化、面向对象程序设计、泛型程序设计)。C++设计成给程序设计者更多的选择,即使可能导致程序设计者选择错误。C++设计成尽可能与C兼容,籍此提供一个从C到C++的平滑过渡。C++避免平台限定或没有普遍用途的特性。C++不使用会带来额外开销的特性。C++设计成无需复杂的程序设计环境。 3.2.2 开发工具简介

Microsoft Visual C++,(简称Visual C++、MSVC、VC++或VC)微

软公司的C++开发工具,具有集成开发环境,可提供编辑C语言,C++

9

山东农业大学学士学位论文

以及C++/CLI等编程语言。VC++整合了便利的除错工具,特别是整合了微软视窗程式设计(Windows API)、三维动画DirectX API,Microsoft .NET框架。目前最新的版本是Microsoft Visual C++ 2010。Microsoft Visual C++是Microsoft公司推出的开发Win32环境程序,面向对象的可视化集成编程系统。它不但具有程序框架自动生成、灵活方便的类管理、代码编写和界面设计集成交互操作、可开发多种程序等优点,而且通过简单的设置就可使其生成的程序框架支持数据库接口、OLE2,WinSock网络、3D控制界面。

它以拥有“语法高亮”,IntelliSense(自动编译功能)以及高级除错功能而著称。比如,它允许用户进行远程调试,单步执行等。还有允许用户在调试期间重新编译被修改的代码,而不必重新启动正在调试的程序。其编译及建置系统以预编译头文件、最小重建功能及累加连结著称。这些特征明显缩短程式编辑、编译及连结的时间花费,在大型软件计划上尤其显著。

10

山东农业大学学士学位论文

4 算法分析

4.1各种类型报文对象的构造

由于pcap每次抓到一个数据包,会提交其信息,方式为以unsigned char* 指向的一段缓冲区,现将缓冲区前14个字节读入,按以太帧格式

构造以太帧头部的对象。然后根据以太帧头部中的Type字段,决定接下来应该构造IP还是ARP还是RARP。假设是IP,那么把缓冲区中第15个字节开始直到这块缓冲区最后的所以字节读入,按IP报文格式构造IP的对象,根据IP的Protocol字段,决定接下来构造TCP,UDP还是ICMP。假设是TCP,则将IP的数据内容读入,按TCP格式构造TCP的对象。如下图4-1所示:

构造以太帧头部的对象 以太帧头部中的 Type字段? 构造ARP对象构造IP对象构造RARP对象IP对象的Protocol字段?构造TCP对象构造UDP对象构造ICMP对象结束

图4-1 各种类型报文对象的构造

注:

1)对于不满一个字节的字段,如一些标志位DF,URG等等需要用位

11

联系合同范文客服:xxxxx#qq.com(#替换为@)