开发基于winPcap的嗅探器. 下载本文

网络安全课程设计报告

(2015-2016 第一学期)

题目 开发基于winPcap的嗅探器

专 业

学 号 姓 名

指 导 教 师 日 期

分评分项 遵守机房规章制度 实验原理分析与设计 课题功能实现情况 设计验收与答辩 优秀 良好 中等 差 评分细 课程设计报告书写 简短评语教师签名: 年 月 日 评分等级备注

开发基于winPcap的嗅探器

一、 实验目的

开发一个winpcap的嗅探器,用它来捕获所有流经网卡的数据包,并进行分析。

二、 实验环境

操作系统:Windows 2000/XP 编程环境:Visual c++6.0 附加库 :Winpcap

三、 实验内容和要求

内容:所开发的程序可以输出本机所有网卡的信息和捕获流经网卡的数据包 并能够过滤出IP、TCP、UDP、ICMP等数据包

要求:掌握基于WinPcap的网络编程模式。

理解并能应用WinPcap设计并实现网络数据包的捕获与解析。

四、 实验原理和步骤

原理:我们所要做的嗅探器是一种常用的网络数据收集软件,它是在广播式网络环境

下利用计算机网络接口截获目的地为其它计算机的数据报文的一种工具。

在以太网中,信息是以明文的形式在网络上传输 ,当将网络适配器设置为混杂模式时,由于采用以太网广播信道争用的方式,使得监听系统与正常通信的网络能够并联连接,并可以捕获任何一个在同一冲突域上传输的数据包。 IEEE802.3标准的以太网采用的是持续CSMA的 方式,正是由于以太网采用这种广播信道争用的方式,使得各个站点可以获得其他站点发送的数据。运用这一原理使信息捕获系统能够拦截我们所要的信息,这是捕获数据包的物理基础。

首先,抓包系统必须绕过操作系统的协议栈来访问在网络上传输的原始数据包,这就要求一部分运行在操作系统核心内部,直接与网络接口驱动交互。这个部分是系统依赖的,在Winpcap的解决方案里它被认为是一个设备驱动,称作NPF(Netgroup PacketFilter)。

Winpcap提供了两个不同的库:Packet.dll和Wpcap.dll。Wpcap.dll提供了更加友好、功能更加 强大的函数调用。WinPcap的优势在于提供了一套标准的抓包接口,与libpcap兼容,可使得原来许多UNIX平台下的网络分析工具快速移植过来,便于开

- 3 -