计算机网络课程设计报告--简单的网络嗅探器 设计.docx
《计算机网络课程设计报告--简单的网络嗅探器 设计.docx》由会员分享,可在线阅读,更多相关《计算机网络课程设计报告--简单的网络嗅探器 设计.docx(19页珍藏版)》请在第一文库网上搜索。
1、课程设计报告20142015学年第一学期课程名称计算机网络设计题目简单的网络嗅探器目录一、网络嗅探器11.1 网络嗅探11.1.1 网络嗅探的背景11.1.2 网络嗅探的简介21.1.3 嗅探器设计原理21.2 相关的网络知识31.2.1 交换基础31.2.2 路由基础41.3 基于网卡混杂模式的嗅探原理61.4 基于arp欺骗的嗅探原理61.5 网络嗅探的安全危险61.6 捕获机制71.7 反嗅探技术7二、基于原始套接字的嗅探程序92.1 嗅探器的具体实现:92.2 嗅探的代码实现92.3 嗅探运行结果112.3.1 嗅探HTTP敏感信息14【摘要】随着网络技术的飞速发展,网络安全问题越来越
2、被人重视。嗅探技术作为网络安全攻防中最基础的技术,随着网络技术的飞速发展,网络安全问题越来越被人重视。嗅探技术作为网络安全攻防中最基础的技术,既可以用于获取网络中传输的大量敏感信息,也可以用于网络管理。通过获取网络数据包的流向和内容等信息,可以进行网络安全分析和网络威胁应对。因此对网络嗅探器的研究具有重要意义。本课程设计通过分析网络上常用的嗅探器软件,在了解其功能和原理的基础上,以VC为开发平台,使用WindoWS环境下的网络数据包捕获开发库WinPCaP,按照软件工程的思想进行设计并实现了一个网络嗅探工具。该嗅探工具的总体架构划分为5部分,分别是最底层的数据缓存和数据访问,中间层的数据捕获,
3、协议过滤,协议分析和最顶层的图形画用户界面。本嗅探器工具完成了数据包捕获及分析,协议过滤的主要功能,实现了对网络协议,源IP地址,目标IP地址及端口号等信息的显示,使得程序能够比较全面地分析出相关信息以供用户参考决策。一、网络嗅探器1.1 网络嗅探1.1.1 网络嗅探的背景网络嗅探是指利用计算机的网络接口截获目的地为其它计算机的数据报文的一种手段。网络嗅探需要用到网络嗅探器,其最早是为网络管理人员配备的工具,有了嗅探器网络管理员可以随时掌握网络的实际情况,查找网络漏洞和检测网络性能,当网络性能急剧下降的时候,可以通过嗅探器分析网络流量,找出网络阻塞的来源。嗅探器也是很多程序人员在编写网络程序时
4、抓包测试的工具,因为我们知道网络程序都是以数据包的形式在网络中进行传输的,因此难免有协议头定义不对的。网络嗅探的基础是数据捕获,网络嗅探系统是并接在网络中来实现对于数据的捕获的,这种方式和入侵检测系统相同,因此被称为网络嗅探。网络嗅探是网络监控系统的实现基础。1.1.2 网络嗅探的简介网络嗅探器利用的是共享式的网络传输介质。共享即意味着网络中的一台机器可以嗅探到传递给本网段(冲突域)中的所有机器的报文。网络嗅探器通过将网卡设置为混杂模式来实现对网络的嗅探。一个实际的主机系统中,数据的收发是由网卡来完成的,当网卡接收到传输来的数据包时,网卡内的单片程序首先解析数据包的目的网卡物理地址,然后根据网
5、卡驱动程序设置的接收模式判断该不该接收,认为该接收就产生中断信号通知CPU,认为不该接收就丢掉数据包,所以不该接收的数据包就被网卡截断了,上层应用根本就不知道这个过程。CPU如果得到网卡的中断信号,则根据网卡的驱动程序设置的网卡中断程序地址调用驱动程序接收数据,并将接收的数据交给上层协议软件处理。1.1.3 嗅探器设计原理嗅探器作为一种网络通讯程序,也是通过对网卡的编程来实现网络通讯的,对网卡的编程也是使用通常的套接字(socket)方式来进行。但是,通常的套接字程序只能响应与自己硬件地址相匹配的或是以广播形式发出的数据帧,对于其他形式的数据帧比如已到达网络接口但却不是发给此地址的数据帧,网络
6、接口在验证投递地址并非自身地址之后将不引起响应,也就是说应用程序无法收取到达的数据包。而网络嗅探器的目的恰恰在于从网卡接收所有经过它的数据包,这些数据包即可以是发给它的也可以是发往别处的。显然,要达到此目的就不能再让网卡按通常的正常模式工作,而必须将其设置为混杂模式。具体到编程实现上,这种对网卡混杂模式的设置是通过原始套接字(rawsocket)来实现的,这也有别于通常经常使用的数据流套接字和数据报套接字。在创建了原始套接字后,需要通过SetSoCkoPt()函数来设置IP头操作选项,然后再通过bind()函数将原始套接字绑定到本地网卡。为了让原始套接字能接受所有的数据,还需要通过i。Ct1S
7、OCket()来进行设置,而且还可以指定是否亲自处理IP头。至此,实际就可以开始对网络数据包进行嗅探了,对数据包的获取仍象流式套接字或数据报套接字那样通过recv()函数来完成。但是与其他两种套接字不同的是,原始套接字此时捕获到的数据包并不仅仅是单纯的数据信息,而是包含有IP头、TCP头等信息头的最原始的数据信息,这些信息保留了它在网络传输时的原貌。通过对这些在低层传输的原始信息的分析可以得到有关网络的一些信息。由于这些数据经过了网络层和传输层的打包,因此需要根据其附加的帧头对数据包进行分析。1.2 相关的网络知识1.2.1 交换基础1. 2.1.1交换机的定义局域网交换机拥有许多端口,每个端
8、口有自己的专用带宽,并且可以连接不同的网段。交换机各个端口之间的通信是同时的、并行的,这就大大提高了信息吞吐量。为了进一步提高性能,每个端口还可以只连接一个设备。为了实现交换机之间的互连或与高档服务器的连接,局域网交换机一般拥有一个或几个高速端口,如IOOM以太网端口、FDD1端口或155MATM端口,从而保证整个网络的传输性能。2. 2.1.2交换原理传统的交换机本质上是具有流量控制能力的多端口网桥,即传统的(二层)交换机。把路由技术引入交换机,可以完成网络层路由选择,故称为三层交换,这是交换机的新进展。交换机(二层交换)的工作原理交换机和网桥一样,是工作在链路层的联网设备,它的各个端口都具
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机网络课程设计报告-简单的网络嗅探器 设计 计算机网络 课程设计 报告 简单 网络 嗅探器