首页 毕业设计一个网络嗅探工具的开发(即抓包嗅探器包过滤

毕业设计一个网络嗅探工具的开发(即抓包嗅探器包过滤

举报
开通vip

毕业设计一个网络嗅探工具的开发(即抓包嗅探器包过滤毕业设计一个网络嗅探工具的开发(即抓包嗅探器包过滤 一个网络嗅探工具的开发 一个网络嗅探工具的开发 摘要 随着网络技术的飞速发展,网络安全问题越来越被人重视。嗅探技术作为网络安全 攻防中最基础的技术,既可以用于获取网络中传输的大量敏感信息,也可用于网络管理。 通过获取网络数据包的流向和内容等信息,可以进行网络安全分析和网络威胁应对。因 此对网络嗅探器的研究具有重要意义。 本毕业设计通过分析网络上常用的嗅探软件,在了解其功能和原理的基础上,以VC 为开发平台,使用Windows 环境下的网络数据包捕...

毕业设计一个网络嗅探工具的开发(即抓包嗅探器包过滤
毕业设计一个网络嗅探工具的开发(即抓包嗅探器包过滤 一个网络嗅探工具的开发 一个网络嗅探工具的开发 摘要 随着网络技术的飞速发展,网络安全问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 越来越被人重视。嗅探技术作为网络安全 攻防中最基础的技术,既可以用于获取网络中传输的大量敏感信息,也可用于网络管理。 通过获取网络数据包的流向和内容等信息,可以进行网络安全分析和网络威胁应对。因 此对网络嗅探器的研究具有重要意义。 本毕业设计通过分析网络上常用的嗅探软件,在了解其功能和原理的基础上,以VC 为开发平台,使用Windows 环境下的网络数据包捕获开发库WinPcap,按照软件工程的 思想进行设计并实现了一个网络嗅探工具。该嗅探工具的总体 架构 酒店人事架构图下载公司架构图下载企业应用架构模式pdf监理组织架构图免费下载银行管理与it架构pdf 划分为5 个部分,分 别是最底层的数据缓存和数据访问、中间层的数据捕获、 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 过滤、协议分析和最顶层 的图形化用户界面。 本嗅探工具完成了数据包捕获及分析、协议过滤的主要功能,实现了对网络协议、 源IP 地址、目标IP 地址及端口号等信息的显示,使得该程序能够比较全面地分析出相 关信息以供用户参考决策。 关键词:网络嗅探;WinPcap 编程接口;数据包;网络协议;多线程 一个网络嗅探工具的开发 THE DEVELOPMENT OF A NETWORK SNIFFER TOOL ABSTRACT Network security is increasingly being seriously with the rapid development of computer technologies. Sniffer technology, as the most basic technology in network attack and defense, can be used to access amounts of sensitive network information in the network transmission, and also be used for network management. We can analysis network security and deal with network threats with information of captured packet. Therefore, it is of significance to study network sniffer technology. This Graduation Project implemented a network sniffer tool by analysising commonly used network sniffer software, in the base of understanding their functions and principle. This project is developed under the Windows environment, and using VC as development platform, WinPcap as network packet capture Development Library, according to the idea of software engineering design. The general framework of the sniffer tool has five parts, namely, the lowest level of data caching and data access, the middle layer of data capture、protocol filtering、protocol analysis, and the most top-level graphical user interface. The program completed the main functions of packet capture, analysis and protocol filtering. Information displayed in network protocol, source and target IP address and port number, can be more comprehensive analysized by users to refer and make decision. Key words:network sniffer; WinPcap API; data packet; network protocol; multi-threading 一个网络嗅探工具的开发 目 录 1 绪论 ......................................................................................... 1 1.1 背景及意义 ......................................................................... 1 1.2 任务与目标 ......................................................................... 2 1.3 章节安排 ............................................................................ 2 2 技术背景 .................................................................................... 3 2.1 嗅探原理 ............................................................................ 3 2.2 捕获机制 ............................................................................ 4 2.3 Winpcap 功能介绍 .................................................................. 5 2.4 Winpcap 体系结构 .................................................................. 6 3 需求分析 .................................................................................... 8 3.1 用户需求 ............................................................................ 8 3.2 功能需求 ............................................................................ 8 3.3 性能需求 ............................................................................ 9 3.4 运行环境 ............................................................................ 9 4 设计概要 .................................................................................. 10 4.1 系统结构 .......................................................................... 10 4.2 设计思路 .......................................................................... 10 4.3 程序流程 .......................................................................... 11 5 详细设计与实现 .......................................................................... 12 5.1 WinPcap 设计步骤 ................................................................ 12 5.2 WinPcap 的安装 ................................................................... 12 5.3 相关函数 .......................................................................... 13 5.3.1 数据结构 .................................................................. 13 5.3.2 与Windows 相关函数 ..................................................... 15 5.3.3 网络接口函数 ............................................................. 16 一个网络嗅探工具的开发 5.4 网络适配器的设计 ............................................................... 16 5.4.1 函数调用关系 ............................................................. 16 5.4.2 适配器的获取与释放 ..................................................... 18 5.4.3 适配器的打开与关闭 ..................................................... 19 5.5 多线程设计 ....................................................................... 20 5.6 过滤模块设计 ..................................................................... 22 5.7 捕获模块设计 ..................................................................... 24 5.8 分析模块设计 ..................................................................... 25 5.9 其它模块设计 ..................................................................... 27 6 程序调试及测试 .......................................................................... 28 6.1 程序调试 .......................................................................... 28 6.2 程序测试 .......................................................................... 29 7 总结 ....................................................................................... 34 7.1 成果 ............................................................................... 34 7.2 展望 ............................................................................... 35 参考文献 .................................................................................... 36 致谢 .......................................................................................... 37 附录 主要代码 .............................................................................. 38 一个网络嗅探工具的开发 第1 页 共47 页 1 绪论 嗅探器是一种利用计算机网络接口监视网络数据运行、截获网络数据的 工具,可用 于网络管理 [1] 、网络协议分析 [2] 以及网络安全等众多方面。在网络攻防技术中,嗅探技 术是最为基础的一种技术。从攻击的角度,黑客可以利用嗅探器程序非法获取网络中传 输的大量敏感信息,如帐号和口令等,对网络安全极具威胁;从防守的角度,嗅探技术 是基于网络的入侵检测系统 [3] 的最底层环节,是整个系统的数据来源。 1.1 背景及意义 随着网络技术的迅速发展,加速了全球信息化进程,各种重要数据在网上的传播日 益普遍,使得网络安全问题越来越为人们所关注。网络嗅探工具 [4] 作为一种网络数据监 听程序,在网络安全攻防方面扮演了很重要的角色,目前已经有不少的嗅探工具,譬如 在Windows 环境下,最富盛名的工具是Netxray、Sniffer pro,在UNIX 环境下是Sniffit 和Snoop,以及同时支持Linux 和windows 平台的Ethereal 等工具都是比较常见的。网 络嗅探器实际是一把双刃剑,通过使用网络嗅探器可以把网卡设置于混杂模式,并可实 现对网络上传输的数据包的捕获与分析,此分析结果可供网络安全分析之用,也可为黑 客发动进一步的攻击提供有价值的信息。而在网络安全方面,目前使用最广泛的TCP/IP 协议 [5]~[8] 存在很多安全缺陷,网络嗅探器可以有效地探测在网络上传输的数据包信息, 通过对这些信息的分析利用是有助于网络安全维护的。我们通过对网络嗅探器的数据包 捕获与分析功能的进一步了解,才能做到知己知彼,有针对性地获取所需要的信息,利 用对这些信息进行网络安全分析和网络威胁应对。 根据《网络安全技术发展分析》一文中的数据,2007 年以来网络监听技术出现了新 的重要特征,传统的 Sniffer 技术是被动地监听网络通信、用户名和口令,而新的 Sniffer 技术则主动地控制通信数据。我们通过对网络嗅探器的数据包捕获与分析功能 的进一步了解,才能做到知己知彼,有针对性地获取所需要的信息,利用对这些信息进 行网络安全分析和网络威胁应对。因此,对网络嗅探器的研究具有重要意义。 一个网络嗅探工具的开发 第2 页 共47 页 1.2 任务与目标 本课题的任务是设计并编程 [9][10] 实现一个基本的网络嗅探工具,能实现Sniffer、 Ethereal 等常用网络嗅探工具的基本功能,包括:侦听所有进出本主机的数据包,解析 显示数据包;能够侦听来源于指定IP 地址的数据包,能够侦听指定目的IP 地址的数据 包,显示捕获数据包的内容;能够根据指定的协议类型过虑包等等。 我将结合自己熟悉的Windows 系统平台,使用WinPcap [11]~[14] 软件包在VC 下进行 API 编程,开发一个带图形界面的网络嗅探工具,该工具除了具备上述功能外,应具有 友好的操作界面、良好的可扩充性,此外我认为还应该设置数据包统计功能和通俗易懂 的帮助文档,更好地为用户服务。 1.3 章节安排 作为本论文的主要部分,论文正文的安排如下: 第一部分提出技术背景,剖析网络嗅探的作用和危害的同时提出论题,并介绍了实 现网络嗅探工具的原理及方法,以及本次设计中用到的Winpcap 技术; 第二部分是程序需求分析,讨论了用户类及其特征、用户需求、功能需求、性能需 求、运行环境等因素,对嗅探工具开发的思想和过程作初步的分析和论证。 第三部分是系统的设计与实现,详细介绍了使用WinPcap 开发程序的一般流程及相 关功能函数,以及数据包捕获、分析、过滤等各个模块的具体实现。 一个网络嗅探工具的开发 第3 页 共47 页 2 技术背景 2.1 嗅探原理 嗅探是一种常用的收集有用数据的方法,嗅探器是利用计算机的网络接口截获目的 地为其它计算机的数据报文的一种工具。由于组网方式不同,嗅探器的工作原理也有所 不同,总共可以分为三类: (1)基于网卡混杂模式的嗅探原理; (2)基于ARP 欺骗的网络嗅探原理; (3)基于中间人攻击的嗅探原理。 本次毕业设计就是利用第一种方式来实现嗅探器的功能,可以监听到所有流经同一 以太网网段的数据包,这是一种被动嗅探 [15] 方式。从以太网的工作原理来看,数据传 输是基于“共享” [16] 的,所有的同一本地网范围内的计算机共同接收到相同的数据包, 这意味着计算机直接的通讯都是透明可见的。正是因为这样的原因,以太网卡都构造了 硬件的“过滤器”,这个过滤器将忽略掉一切和自己无关的网络信息,事实上是忽略掉 了与自身MAC 地址不符合的信息。从网卡原理上来说,在一个实际的系统中,数据的收 发是由网卡来完成的,网卡接收到传输来的数据包,网卡内的单片程序接收数据帧的目 的MAC 地址,根据计算机上的网卡驱动程序设置的接收模式判断该不该接收,认为该接 收就接收后产生中断信号通知CPU,认为不该接收就丢掉不管,所以不该接收的数据网 卡就截断了,计算机根本就不知道。对于网卡来说一般有四种接收模式: (1)广播方式:该模式下的网卡能够接收网络中的广播信息; (2)组播方式:设置在该模式下的网卡能够接收组播数据; (3)直臃绞剑涸谡庵帜,较拢挥心康耐拍芙邮崭檬荩? (4)混杂模式:在这种模式下的网卡能够接收一切通过它的数据。 而本次设计嗅探工具正是利用了这个特点,把网卡设置为“混杂模式”。因此, 嗅探程序就能够接收到整个以太网内的网络数据信息了,而不管该数据是否是传给它 的。正常模式和混杂模式的两者对比如图2.1 所示: 一个网络嗅探工具的开发 第4 页 共47 页 (a) 正常模式 (b) 混杂模式 图2.1 网卡对数据包的处理方式 2.2 捕获机制 很多网络安全系统最首要的任务就是捕获网络上的数据信息,而网路数据包捕获技 术就解决了这个问题。网络数据包捕获技术是从网络上捕获所有的或特定的网络数据包 信息,供其他网络安全系统使用。不同的网络有不同的捕获技术,不同的操作系统其捕 获机理也有所不同。以太网采用了CSMA/CD 技术,它使用了广播机制,所有与网络连接 的机器都可以看到网络上传播的数据,操作系统提供的捕获机制主要有以下三种: (1)SOCK_PACKET 类型套接口; (2)数据链路提供者接口((Data Link Provider Interface,DLPI); (3)伯克利数据包过滤器(Berkeley Packet Filter,BPF)。 BFP 主要由两部分组成:网络转发部分和数据包过滤部分。网络转发部分是从链路 层中捕获数据包并把它们转发给数据包过滤部分,数据包过滤部分是从接收到的数据包 中接受过滤规则决定的网络数据包,其他数据包就抛弃。捕获数据包和过滤数据包都是 YES 合法端口 合法IP 地址 合法MAC 地址 数据包 YES YES 传输层 网络层 链路层 物理层 合法端口 合法IP 地址 合法MAC 地址 数据包 NO NO NO 丢弃 丢弃 丢弃 不判断 不判断 不判断 合法数据包 所有数据包 一个网络嗅探工具的开发 第5 页 共47 页 在操作系统内核中完成的,而且使用了数据缓存机制。从效率上来讲,BPF 在三种机制 中是性能最高的,而SOCK_PACKET 是最弱的。 在实际应用中,实现网络数据包捕获技术的代表是Libpcap。它是一个专业的跨平 台的网络数据包捕获开发包。使用Libpcap 可以很轻松地实现网络数据包的捕获功能, 它的捕获机制就是BPF 捕获机制。在Windows 平台下有与Libpcap 兼容的WinPcap 开发 包,它是专门针对Windows 平台而开发的,本次程序的开发就是利用WinPcap 库函数实 现的。 2.3 Winpcap 功能介绍 WinPcap(Windows Packet Capture)是 Windows 平台下一个免费、公共的专业网络 数据包捕获开发包,也是其它一些安全工具的应用基础。使用该开发包的软件主要有: Windump、Analyzer、Ethereal、Dsniff 等。WinPcap 包括三部分,即数据包捕获和过 滤块NPF、较低层的网络编程接口packet.dll、较高层的编程接口wpcap.dll。使用该 开发包可以提高应用效率,WinPcap 充分考虑了各种性能和效率的优化,在内核层实现 了数据包的捕获和过滤,这是由NPF 来实现的,NPF 是WinPcap 的核心部分,它实现了 内核的统计功能,对于设计网络流量的程序很有好处。 WinPcap 是Libpcap 在Windows 平台下的版本,在设计WinPcap 时参照了Libpcap, 对Windows 进行了优化处理和扩展,主要功能: (1)数据包捕获。跟Libpcap 一样,WinPcap 主要的功能还是完成了对网络数据包的 捕获,它可以捕获在共享网络上传输的各种网络数据包。 (2)数据恕也具备数据包的过滤功能,在接收网络数据包和发送个应 用程序之前在内核层对数据包进行过滤,其过滤规则与BPF 过滤规则兼容 。 (3)数据包发送。使用 WinPcap 可以实现数据包的发送功能,可以发送原始的网络 数据包,网络数据包的内容可以由开发者自己确定。 (4)流量统计。在WinPcap 中还实现了流量统计功能,这也是在内核层实现的。 (5)数据包存储。使用WinPcap 可以在内核中将捕获到的数据包直接存储到磁盘中。 一个网络嗅探工具的开发 第6 页 共47 页 2.4 Winpcap 体系结构 前一节提到了WinPcap 的三个模块,它们分别是NPF、packet.dll、wpcap.dll,其 体系结构如下图2.2 所示: 图2.2 WinPcap 体系结构 这个三个模块组成了有较好扩展性的底层网络分析体系结构,下面对三个模块作 详 细说明。 NPF 是WinPcap 的组件,用来处理网络上传输的数据包,并对用户层导出数据包 捕 获、发送与分析的能力。它是运行于操作系统内核中的驱动程序,它直接与网卡 驱动程 包截获 应用程序 网络监测 应用程序 数据转储 应用程序 应用层 用户态 用户态 缓冲区 wpcap.dll packet.dll 核心态 缓冲区 过滤器 统计引擎 转储引擎 核心态 缓冲区 NPF 转储到硬盘 数据链路层驱动程序 其 它 协 议 栈 其它应用程序: 1,直接访问 NPF 2,调用 packet.dll 3,调用 wpcap.dll 内核态 网络层 数据包 网络数据入口 一个网络嗅探工具的开发 第7 页 共47 页 序进行交互,获取在网络上传输的原始数据包。在 Windows XP 系统中,它以 SYS 文件 形式存在。该模块提供了抓取数据包以及发送数据包的基本功能,此外还提供了一些高 级功能,如数据包过滤系统和检测引擎。 Pactet.dll 用于在Windows 平台上为数据包驱动程序提供一个公共的接口。不同的 Windows 版本在用户态和内核态之间提供互不相同的接口,而Pactet.dll 可以屏蔽这些 接口区别,提供一个与系统无关的API。Pactet.dll 开发的数据包截获程序可以运行于 不同的Windows 平台而不必重新进行编译。Pactet.dll 可以执行如获取适配器名称、动 态驱动器加载以及获得主机掩码及以太网冲突次数等低级操作。 Wpcap.dll 模块提供了一组功能强大且垮平台的函数,利用这些函数,可以不去关 心适配器和操作系统的类型。Wpcap.dll 含有诸如产生过滤器、定义用户缓冲以及包注 入等高级功能。Wpcap.dll 的函数调用会自动调用Pactet.dll 中的低级函数,并且可能 被转换成若干个系统调用。 一个网络嗅探工具的开发 第8 页 共47 页 3 需求分析 3.1 用户需求 网络嗅探器是一种利用计算机的网络接口截获其它计算机数据报文的工具。使用 网 络嗅探工具的主要人群是黑客或网络安全技术人员,从攻击的角度,黑客可以利用嗅探 器程序非法获取网络中传输的大量敏感信息,如帐号和口令等,对网络安全极具威胁; 从防守的角度,嗅探技术是基于网络的入侵检测系统的最底层环节,是整个系统的数据 来源,为技术人员提供重要的依据。无论是黑客还是安全人员,他们的对嗅探技术的利 用途径都是一样的,即对网络上传输的数据包进行捕获与分析,获取必要的信息,但是 他们的目的不一样,前者是专门利用计算机网络搞破坏或恶作剧,而后者则是通过对这 些信息的分析利用,维护网络安全与稳定。因此用户提出了以下 要求 对教师党员的评价套管和固井爆破片与爆破装置仓库管理基本要求三甲医院都需要复审吗 : (1)能够捕获网络数据包,并能对数据包进行简单的分析; (2)对数据包进行简单的统计,例如数据包的长度、截获的数目等; (3)精确的设置捕捉规则和灵活的过滤策略,使用户能够方便、准确地捕获所 需要的信息; (4)界面友好,兼容多种操作系统平台,方便用户操作。 3.2 功能需求 尽管嗅探器作为网络安全方面最常见的工具被广泛使用,但是它的基本原理其实很 简单,就是先把同卡设备设为混杂模式,然后直接接收 IP 层的数据。为了实现用户所 提出的各种需求,嗅探器必需达到以下功能: (1)运行于数据链路层,监视网络状态,对数据帧进行捕捉和统计,为优化网 络性能、增强系统安全性提供充分有效的依据。此时的工作网卡处于混杂模式; (2)能够对网络中捕捉的数据包解码,用于故障分析。如数据包的编号、时间戳、 数据包长度、协议类型、源IP 地址、目的IP 地址、源端口号、目的端口号源、MAC 地 址、目的MAC 地址等相关信息; (3)友好的图形化界面,不需要复杂的命令,大部分功能通过鼠标点击就可达到, 一个网络嗅探工具的开发 第9 页 共47 页 操作简单、方便,并附带帮助文档; (4)用户能够自定义过滤规则,使数据包的捕获更加精准和具有灵活性,增强了软 件功能以及与用户的交互能力; (5)程序带有导出功能,使截获的数据包信息以XML 格式导出到指定文件夹。 3.3 性能需求 一个程序除了能正常运行并且达到相应的功能外,对程序性能也有严格的要求, 性 能需求决定了整个系统的性能档次、所采用的技术和设备档次,本程序除了达到常用软 件对响应时间以及差错控制的要求外,还提出以下要求: (1)数据精确性。捕获到的数据包并不仅仅是单纯的数据信息,而是包含有 IP 头、 TCP 头等信息头的最原始的数据信息,这些信息保留了它在网络传输时的原貌,为分析 网络信息提供了重要资料。 (2)适应范围。优秀的嗅探器能够分析几百种协议。一般情况下,大多数的嗅探器 至少能够分析下面的协议: 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 以太网、 TCP/IP、IPX、HTTP、SMTP 和无线网。 3.4 运行环境 本系统运正常行的硬件环境需求如下: CPU :P4 1.4G 以上; 内存:256MB 以上; 硬盘:20G 以上。 本系统运正常行的软件环境需求如下: 操作系统:Windows XP; 动态链接库和驱动程序:WinPcap4_0_2.exe; 开发包文件:WpdPack_4_0_2.zip。 一个网络嗅探工具的开发 第10 页 共47 页 4 设计概要 本系统选用Windows XP 操作系统,并且采用Microsoft Visual C++ 6.0 编译系统 构造而成,具体环境是微软基础类,这个类库便于我们构造基于Windows 操作系统的窗 口程序。本系统是一个基于对话框的应用程序,并对该对话框添加了按钮控件、树状控 件、列表框控件等,同时使用多线程设计,提高程序运行效率。 4.1 系统结构 由前面任务与目标一节中所提到的,一个完整的嗅探工具必需有数据包捕获及分 析、数据存储等基本功能,此外,本系统加入了帮助模块,通过调用帮助文档给用户提 供程序使用帮助。系统结构如下图4.1 所示: 图4.1 系统结构图 4.2 设计思路 根据前面的网络嗅探技术的原理以及利用WinPcap 设计程序的一般步骤,本次设计 嗅探工具的思路如下: (1)首先获取网络设备,然后打开设备,并设置网卡处于混杂模式,启动捕获线程, 不断地接收数据包和分析数据包; (2)通过在对话栏的组合框中输入过滤串来确定监听某种协议(TCP,UDP,ICMP)的 数据包,默认情况下是不进行过滤的; (3)通过菜单或工具栏按钮来控制监听线程的开始和结束; (4)单独创建一个线程用于进行数据包的接收,以提高界面的反应能力; 网络嗅探系统 数据包 捕获 数据包 分析 数据 保存 帮助 文档 一个网络嗅探工具的开发 第11 页 共47 页 (5)监听的结果显示于列表控件中,包括以下各项,接收时间、数据包长度、源MAC 地址、目的MAC 地址、协议类型、源IP 地址及端口、目标IP 地址及端口。 4.3 程序流程 根据前一节的设计思路,可以相应地得到这个程序的设计流程,通过采用程序的顺 序、选择和循环三种基本的控制流程,可以提高程序质量和编程效率,使程序具有良好 的可读性、可靠性、可维护性以及良好的结构,有利于后面程序的编写。程序流程图如 4.2 所示: 否 图4.2 程序流程图 显示、统计数据 释放网卡句柄、缓冲区 退出 得到网卡设备句柄 建立缓冲区 打开网卡设备、置为混杂模式 选择监听的网卡 定位及初始化设备 接收网络数据包 停止 接收 从缓冲区读取数据包 分析数据包 是 一个网络嗅探工具的开发 第12 页 共47 页 5 详细设计与实现 网络数据包嗅探技术的关键技术在于监听网络数据流,并将接收到的数据包,经 过 重组、分析,成为用户可见的应用层信息。本章主要讨论系统核心部分的具体实 现,即 利用WinPcap 开发网络嗅探工具,包括了数据包的捕获和分析两大主要部分。 5.1 WinPcap 设计步骤 通过对照前面的设计流程,我参考了WinPcap 的相关函数功能,初步构造了利用 WinPcap 进行网络数据包的捕获和过滤的方法,其设计步骤如下: (1) 获得适合的网络接口的列表,得到设备的基本信息(如设备名称和设备描述), 利用pcap_findalldevs()函数实现; (2)然后打开一个接口并捕捉流量,使用函数 pcap_open_live()来打开一个捕捉设 备。接口打开后,pcap_dispatch()或 pcap_loop()函数将会开始捕捉数据包,其中, pcap_dispatch()将会在超时后直接返回,pcap_loop()则一定要等到一定数量的数据包 被处理了以后才会返回; (3)WinPcap最强大的特点之一就是数据流的过滤引擎。它提供一种高效的方法来只 捕。过滤数据包是通过pcap_compile()和pcap_setfilter()函数来实现的; (4)最后通过pcap_freealldevs()函数来释放接口列表,pcap_close()函数来关闭 和返回。 5.2 WinPcap 的安装 本网络嗅探程序需要用到两个文件,他们都可以从WinPcap 官方网站下载。第一个 文件是WinPcap4_0_2.exe,它包括了重要的动态链接库(DLL)和驱动程序,它是所有基 于WinPcap 的应用程序运行所必须的;第二个文件是WpdPack_4_0_2.zip,他是WinPcap 开发包文件,是设计基于WinPcap 的应用程序的开发文件。该文件包括开发用的头文件 和静态链接库文件,是开发者要用到的。如果不需要开发基于WinPcap 的程序,而只是 运行基于WinPcap 的软件,就不需要此文件。然后在VC6.0 菜单中,选择[工具Tolls]|[选 一个网络嗅探工具的开发 第13 页 共47 页 项Options]|[目录Directories],在[Include files]和[Library files]中添加安装 后的include 和library 的路径,如图5.1 所示: (a) Include files 目录中的路径 (b) Library files 目录中的路径 图5.1 VC 路径设置 5.3 相关函数 本嗅探系统的设计涉及到许多重要函数,与程序的功能息息相关,例如设置缓冲区、 查找网卡设备、捕获数据包等功能,现将涉及到的主要函数的数据结构、函数原型及相 关参数做简要介绍。 5.3.1 数据结构 (1)pcap_addr 描述的是网络接口的地址,是一个包含相对于addr 指向的地址,其 数据结构定义如下: typedef struct pcap_addr{ struct pcap_addr *next; //指向链表中下一个节点的指针 struct sockaddr *addr; //指向包含一个地址的sockaddr 的结构的指针 struct sockaddr *netmask; //地址掩码 struct sockaddr *broadaddr;//广播地址 struct sockaddr *dstaddr; //目的地址 }; 一个网络嗅探工具的开发
本文档为【毕业设计一个网络嗅探工具的开发(即抓包嗅探器包过滤】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_511210
暂无简介~
格式:doc
大小:61KB
软件:Word
页数:29
分类:生活休闲
上传时间:2017-12-28
浏览量:43