《网络嗅探器》课程设计报告.docx

上传人:b****4 文档编号:6916324 上传时间:2023-05-10 格式:DOCX 页数:39 大小:1.27MB
下载 相关 举报
《网络嗅探器》课程设计报告.docx_第1页
第1页 / 共39页
《网络嗅探器》课程设计报告.docx_第2页
第2页 / 共39页
《网络嗅探器》课程设计报告.docx_第3页
第3页 / 共39页
《网络嗅探器》课程设计报告.docx_第4页
第4页 / 共39页
《网络嗅探器》课程设计报告.docx_第5页
第5页 / 共39页
《网络嗅探器》课程设计报告.docx_第6页
第6页 / 共39页
《网络嗅探器》课程设计报告.docx_第7页
第7页 / 共39页
《网络嗅探器》课程设计报告.docx_第8页
第8页 / 共39页
《网络嗅探器》课程设计报告.docx_第9页
第9页 / 共39页
《网络嗅探器》课程设计报告.docx_第10页
第10页 / 共39页
《网络嗅探器》课程设计报告.docx_第11页
第11页 / 共39页
《网络嗅探器》课程设计报告.docx_第12页
第12页 / 共39页
《网络嗅探器》课程设计报告.docx_第13页
第13页 / 共39页
《网络嗅探器》课程设计报告.docx_第14页
第14页 / 共39页
《网络嗅探器》课程设计报告.docx_第15页
第15页 / 共39页
《网络嗅探器》课程设计报告.docx_第16页
第16页 / 共39页
《网络嗅探器》课程设计报告.docx_第17页
第17页 / 共39页
《网络嗅探器》课程设计报告.docx_第18页
第18页 / 共39页
《网络嗅探器》课程设计报告.docx_第19页
第19页 / 共39页
《网络嗅探器》课程设计报告.docx_第20页
第20页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

《网络嗅探器》课程设计报告.docx

《《网络嗅探器》课程设计报告.docx》由会员分享,可在线阅读,更多相关《《网络嗅探器》课程设计报告.docx(39页珍藏版)》请在冰点文库上搜索。

《网络嗅探器》课程设计报告.docx

《网络嗅探器》课程设计报告

《网络与信息安全技术》课程报告

 

课题名称:

网络嗅探器

 

提交报告时间:

2010 年 12 月 17 日

课程名称:

网络与信息安全技术课程设计题目:

网络嗅探器

 

各成员的工作量划分表

 

网络嗅探器

 

专业

 

-1-

课程名称:

网络与信息安全技术课程设计题目:

网络嗅探器

组号指导老师

 

[摘要] 随着网络技术的飞速发展,网络安全问题越来越被人重视。

嗅探技术作为网络安全攻

防中最基础的技术,既可以用于获取网络中传输的大量敏感信息,也可以用于网络管理。

通过

获取网络数据包的流向和内容等信息,可以进行网络安全分析和网络威胁应对。

因此对网络嗅

探器的研究具有重要意义。

本课程设计通过分析网络上常用的嗅探器软件,在了解其功能和原理的基础上,以 VC 为开发

平台,使用 Windows 环境下的网络数据包捕获开发库 WinPcap,按照软件工程的思想进行设计

并实现了一个网络嗅探工具。

该嗅探工具的总体架构划分为 5 部分,分别是最底层的数据缓存

和数据访问,中间层的数据捕获,协议过滤,协议分析和最顶层的图形画用户界面。

本嗅探器工具完成了数据包捕获及分析,协议过滤的主要功能,实现了对网络协议,源 IP 地

址,目标 IP 地址及端口号等信息的显示,使得程序能够比较全面地分析出相关信息以供用户

参考决策。

关键词:

网络嗅探;WinPcap 编程接口;数据包;网络协议;多线程

(中文摘要在 150 字左右。

摘要正文尽量用纯文字叙述。

用五号宋体字。

姓名与摘要正文之间

空二行。

关键词与摘要之间不空行。

“摘要”这两个字加粗)

 

关键词:

入侵检测系统;感应器;分析器;分布式入侵检测系统模型

 

Network sniffer

 

Major:

 software engineering

 

-2-

课程名称:

网络与信息安全技术课程设计题目:

网络嗅探器

 

Group Number:

29

 

[Abstract] With the rapid development of network technology, network security is increasingly

being attention. Sniffing network security technology as the most basic offensive and defensive

techniques, both used to obtain a large number of network transmission of sensitive information can

also be used for network management. Access to network packets through the flow and content and

other information, can be network security threat analysis and response networks. Therefore, the

network sniffer is of great significance.

The course is designed by analyzing the commonly used network sniffer software, to

understand the functions and principles, based on the VC as a development platform, using the

Windows environment, the development of network packet capture library WinPcap, according to

software engineering design And implementation of a network sniffer tool. The overall structure of

the sniffer is divided into five parts, namely, the bottom of the data caching and data access, middle

layer of the data capture, protocol filtering, protocol analysis and top graphic art user interface.

The completed tool sniffer packet capture and analysis of data, protocol filtering of the main

functions, the realization of network protocol, source IP address, destination IP address and port

number and other information display, makes the program out to a more comprehensive analysis of

relevant information Decision-making for user reference

[Keyword] network sniffer; WinPcap programming interface; data packet; network protocol;

multi-threaded

 

《网络与信息安全》课程报告 ......................................................................................................0

第一章 绪论 ..................................................................................................................................5

1.1 背景 ..........................................................................................................................................5

1.2 国内外现状...............................................................................................................................6

1.3 本文工作 ..................................................................................................................................6

第二章 相关技术 ...........................................................................................................................7

2.1 嗅探原理 ..................................................................................................................................7

2.2 捕获机制 ..................................................................................................................................8

-3-

课程名称:

网络与信息安全技术课程设计题目:

网络嗅探器

2.3Winpcap 功能介绍 .....................................................................................................................9

2.4 Winpcap 体系结构 ....................................................................................................................9

第三章 研究内容描述 .................................................................................................................11

第四章 测试环境和过程描述 ......................................................................................................12

4.1 程序调试................................................................................................................................13

4.2 程序测试................................................................................................................................14

第五章 小结.................................................................................................................................18

5.1 成果 ........................................................................................................................................18

5.2 展望 ........................................................................................................................................19

 

第一章 绪论

 

嗅探器是一种利用计算机网络接口监视网络数据运行,截获网络数据的工具,

可用于网络管理,网络协议分析以及网络安全等众多方面。

在网络攻防技术中,嗅

探器技术是最为基础的一种技术。

从攻防的角度,黑客可以利用嗅探器程序非法获

 

-4-

课程名称:

网络与信息安全技术课程设计题目:

网络嗅探器

取网络中传输的大量敏感信息,如账号和口令等,对网络安全极具威胁;从防守的

角度,嗅探技术是基于网络的入侵检测系统的最底层环节,是整个系统的数据来源。

 

1.1 背景

 

随着网络技术的迅速发展,加速了全球信息化进程,各种重要数据在网上的传

播日益普遍,使得网络安全问题越来越为人们所关注。

网络嗅探器作为一种网络数

据监听程序,在网络安全攻防方面扮演了很重要的角色,目前已经有不少的嗅探工

具,譬如在 Windows 环境下,最富盛名的工具是 Netxray,Sniffer pro,在 UNIX 环

境下是 sniffer 和 snoop,以及同时支持 Linux 和 windows 平台的 Ethereal 等工具

都是比较常见的。

网络嗅探器实际是一把双刃剑,通过使用网络嗅探器可以把网卡

设置于混杂模式,并可以实现对网络上传输的数据包的捕获与分析,此分析结果可

供网络安全分析之用,也可以为黑客发动进一步的攻击提供有价值的信息。

而在网

络安全方面,目前使用最广泛的 TCP/IP 协议存在很多安全缺陷,网络嗅探器可以

有效地探测在网络上传输的数据包信息,通过对这些信息的分析利用是有助于网络

安全维护的。

我们通过对网络嗅探器的数据包捕获与分析功能进一步了解,才能做

到知己知彼,有针对性的获取所需要的信息,利用对这些休息进行网络安全协议和

网络威胁应对。

根据《网络安全技术发展分析》一文中的数据,2007 年以来网络监听技术出现

了新的重要特征,传统的 Sniffer 技术是被动的监听网络通信,用户名和口令,而

新的 Sniffer 技术则主动地控制通信数据。

我们通过对网络嗅探器的数据包捕获与

分析功能的进一步了解,才能做到知己知彼,有针对行地获取所需要的信息,利于

对这些信息进行网络安全分析和网络威胁应对。

因此,对网络嗅探器的研究具有重

要意义。

 

1.2 国内外现状

 

Sniffer 中 文 翻 译 过 来 就 是 嗅 探 器 , 在 当 前 网 络 技 术 中 使 用 的 非 常 得 广 泛 。

Sniffer 既可以做为网络故障的诊断工具,已可以做为黑客嗅探和监听的工具。

近两年,网络嗅探监听(sniffer)技术出现了新的重要特征。

传统的 sniffer 技

术是被动地监听网络通信,用户名和口令。

而新的 sniffer 技术出现了主动地控制

通信数据的特点,把 sniffer 技术扩展到了一个新的领域,Sniffer 技术除了目前

在传统的网络侦测管理外,也开始被应用于在咨询保全的领域。

可以这样说,

sniffer 技术是一把双刃剑,如何更好的利用它,了解它的一些特性,将能使用这

-5-

课程名称:

网络与信息安全技术课程设计题目:

网络嗅探器

项技术更好的为我们需求带来便利。

Sniffer 的编程方法比较通用的有以下几种:

1) .winpcap 这是一个比较通用的库,相信做过抓包的工具大多人都不会陌生。

2) .raw socket 在 2000 以后的版本都比较支持此项功能,2000server 有个网络监

视器就是基于 raw socket。

3) .tdi,ndis,spi,hook socket 技术,这种技术比较大的不同是,可以将包截取而

不仅仅是获得包的一份拷贝。

实际应用中的 Sniffer 还分软,硬两种。

软件 Sniffer 的优点在于比较便宜,

易于学习使用,同时也易于交流,缺点是往往无法抓取网络上所有的传输(不如碎

片),某些情况下也就可能无法真正了解网络的故障和运行情况;硬件的 Sniffer

通常称为协议分析仪,一把都比较昂贵,它的优点恰恰是软件 Sniffer 所欠缺的,

但是昂贵是它的致命的缺点。

因此目前流行的 Sniffer 工具都是软件的。

 

1.3 本文工作

 

作为论文的主要部分,本文正文的安排如下:

第一部分提出相关技术,剖析网络嗅探器的作用和危害的同时提出论题,并介绍出

现网络嗅探器工具的原理和方法,以及本次设计中用到的 Winpcap 技术;

第二部分描述研究内容,包括程序需求分析和系统的设计与实现。

讨论用户类及特

征,用户需求,功能需求,性能需求,运行环境等因素,对嗅探工具开发的思想和

过程作初步的分析和论证。

此外。

还详细介绍使用 Winpcap 开发程序的一般流程及

相关功能函数,以及数据包捕获,分析,过滤等各个模块的具体实现。

第三部分介绍测试环境及过程,作为课程设计的最后一部分,网络嗅探器的结尾工

作,我们将严格地对我们的网络嗅探器进行测试。

第四部分总结这次课程设计的心得以及列出我们的参考文献。

 

第二章 相关技术

 

2.1 嗅探原理

 

嗅探器是一种常用的收集有用数据的方法,嗅探器是利用计算机的网络接口截

获目的地为其它计算机的数据报文的一种工具。

由于组网方式不同,嗅探器的工作

原理也有所不同,总共可以分为三类:

(1) 基于网卡混杂模式的嗅探原理;

 

-6-

课程名称:

网络与信息安全技术课程设计题目:

网络嗅探器

(2) 基于 ARP 欺骗的网络嗅探原理;

(3) 基于中间人攻击的嗅探原理。

本次课程设计就是利用第一种方式来实现嗅探器的功能,可见监听到所有流经

同一以太网网段的数据包,这是一种被动嗅探的方式。

从以太网的工作原理来看,

数据传输是基于“共享”的,所有的同一本地网范围内的计算机共同接收到相同的

数据包,这意味着计算机直接的通讯都是透明可见的。

正是因为这样的原因,以太

网卡都构造了硬件的“过滤器”,这个过滤器将忽略掉一切和自己无关的网络信息,

事实上时忽略掉了与自身 MAC 地址不符合的信息。

从网卡原理上来说,在一个实际

的系统中,数据的收发是由网卡来完成的,网卡接收到传输来的数据包,网卡内的

单片程序接收数据帧的目的 MAC 地址,根据计算机上的网卡驱动程序设置的接收模

式判断该不该接收,认为该接收就接收后产生中断信号通知 CPU,认为不该接收就

丢掉不管,所以不该接收的数据网卡就截断了,计算机根本就不知道。

对于网卡来

说一般有四种接收模式:

(1)广播方式:

该模式下的网卡能够接收网络中的广播信息;

(2) 组播方式:

设置在该模式下的网卡能够接收组播数据;

(3) 直接方式:

在这种模式下,只有目的网卡才能接收该数据;

(4) 混杂模式:

在这种模式下的网卡能够接收一切通过它的数据。

而本次设计嗅探工具正是利用了这个特点,把网卡设置为“混杂模式”。

因此,

嗅探程序就能够接收到整个以太网内的网络数据信息了,而不管该数据是否是传给

它的。

正常模式和混杂模式的两者对比如图 2.1 所示:

 

-7-

课程名称:

网络与信息安全技术课程设计题目:

网络嗅探器

图 2.1 网卡对数据包的处理方式

 

2.2 捕获机制

 

很多网络安全系统最首要的任务就是捕获网络上的数据信息,而网络数据包捕

获技术就解决了这个问题。

网络数据包捕获技术是从网络上捕获所有的或特定的网

络数据包信息,供其他网络安全系统使用。

不同的网络有不同的捕获技术,不同的

操作系统其捕获机理也有所不同。

以太网采用了 CSMA/CD 技术,它使用了广播机制,

所有与网络连接的机器都可以看到网络上传播的数据,操作系统提供的捕获机制主

要有以下三种:

(1) SOCK_PACKET 类型套接口;

(2) 数据链路提供者接口(Data Link Provider Interface,DLPI);

(3) 伯克利数据包过滤器(Berkeley Packet Filter,BPF)。

BPF 主要由两部分组成:

网络转发部分和数据包过滤部分。

网络转发部分是从

链路层中捕获数据包并把它们转发给数据包过滤部分,数据包过滤部分是从接收到

的数据包中接受过滤规则决定的网络数据包,其他数据包就抛弃。

捕获数据包和过

滤数据包都是在操作系统内核中完成的,而且使用了数据缓存机制。

从效率上来讲,

BPF 在三种机制中是性能最高的,而 SOCK_PACKET 是最弱的。

在实际应用中,实现网络数据包捕获技术的代表是 Libpcap。

它是一个专业的

跨平台的网络数据包捕获开发包。

使用 Libpcap 可以很轻松地实现网络数据包的捕

获功能,它的捕获机制就是 BPF 捕获机制。

在 Windows 平台下有与 Libpcap 兼容的

WinPcap 开发包,它是专门针对 Windows 平台而开发的,本次程序的开发就是利用

WinPcap 库函数实现的。

 

2.3Winpcap 功能介绍

 

WinPcap(Windows Packet Capture)是 Windows 平台下的一个免费、公平的专

业网络数据包捕获开发包,也是其它一些安全工具的应用基础。

使用该开发包的软

件主要有:

Windump、Analyzer、Ethereal、Dsniff 等。

WinPcap 包括三部分,即

数据包捕获和过滤块 NPF、较低层的网络编程接口 packer.dll、较高层的编程接口

wpcap.dll。

使用该开发包可以提高应用效率,WinPcap 充分考虑了各种性能和效率

的优化,在内核层实现了数据包的捕获和过滤,这是由 NPF 来实现的,NPF 是 WinPcap

的核心部分,它实现了内核的统计功能,对于设计网络流量的程序很有好处。

WinPcap 是 Libpcap 在 Windows 平台下的版本,在设计 WinPcap 时参照了 Libpcap,

-8-

课程名称:

网络与信息安全技术课程设计题目:

网络嗅探器

对 Windows 进行了优化处理和发展,主要功能:

(1)数据包捕获。

跟 Libpcap 一样,WinPcap 主要的功能还是完成了对网络

数据包的捕获,它可以捕获在共享网络上传输的各种网络数据包。

(2)数据包过滤。

WinPcap 也具备数据包的过滤功能,在接收网络数据包和

发送个应用程序之前在内核层对数据包进行过滤,其 过滤规则与 BPF 过滤规则兼容。

(3)数据包发送。

使用 WinPcap 可以实现数据包的发送功能,可以发送原始

的网络数据包,网络数据包的内容可以由开发者自己确定。

(4)流量统计。

在 WinPcap 中还实现了流量统计功能,这也是在内核层实现

的。

(5)数据包存储。

使用 WinPcap 可以在内核中将捕获到的数据包直接存储到

磁盘中。

 

2.4 Winpcap 体系结构

 

前 一 节 提 到 你 了 WinPcap 的 三 个 模 块 , 它 们 分 别 是 NPF 、 packet.dll 、

wpcap.dll,其体系结构如下图 2.2 所示:

 

-9-

课程名称:

网络与信息安全技术课程设计题目:

网络嗅探器

 

图 2.2 WinPcap 体系结构

这个三个模块组成了有较好扩展性的底层网络分析体系结构,下面对三个模块

作详细说明。

NPF 是 WinPcap 的组件,用来处理网络上传输的数据包,并对用户层导出数据

包捕获、发送与分析的能力。

它是运行于操作系统内核中的驱动程序,它直接与网

卡驱动程序进行交互,捕获在网络上传输的原始数据包。

在 Windows XP 系统中,它

以 SYS 文件形式存在。

该模块提供了抓取数据包以及发送数据包的基本功能,此外

还提供了一些高级功能,如数据包过滤系统和检测引擎。

Pactet.dll 用于在 Windows 平台上为数据包驱动程序提供一个公共的接口。

同的 Windows 版本在用户态和内核态之间提供互不相同的接口,而 Pactet.dll 可

以屏蔽这些接口区别,提供一个与系统无关的 API。

Pactet.dll 开发的数据包截获

程序可以运行于不同的 Windows 平台而

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 材料科学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2