下载此文档

网络嗅探器的设计与实现论文.pdf


文档分类:IT计算机 | 页数:约22页 举报非法文档有奖
1/22
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/22 下载此文档
文档列表 文档介绍
该【网络嗅探器的设计与实现论文 】是由【mama1】上传分享,文档一共【22】页,该文档可以免费在线阅读,需要了解更多关于【网络嗅探器的设计与实现论文 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。嘉兴学院本科毕业生毕业论文(设计)
目录
1引言.....................................................................1
............................................................1
............................................................1
2系统分析..................................................................2
............................................................2
......................................................2
......................................................2
....................................................2
#语言简介....................................................2
..................................................3
...................................................4
....................................................6
..........................................................8
3详细设计..................................................................9
............................................................9
...........................................................11
...........................................................12
...........................................................14
4论文总结.................................................................19
致谢......................................................................20
参考文献....................................................................21
嘉兴学院本科毕业生毕业论文(设计)
1引言

网络技术的日新月异,发展突飞猛进,计算机网络的应用越来越广泛,其作用也越来越
重要。但是由于计算机系统中软硬件的脆弱性和计算机网络的脆弱性以及地理分布的位置、
自然环境、自然破坏以及人为因素的影响,不仅增加了信息存储、处理的风险,也给信息传
送带来了新的问题。计算机网络安全问题越来越严重,网络破坏所造成的损失越来越大。
Internet的安全已经成为亟待解决的问题。多数***成功并植入***后的第一件事就
是选择一个合适当前网络的嗅探器,以获得更多的受侵者的信息。嗅探器是一种常用的收集
有用数据的方法,可以作为网络数据包的设备。网络嗅探器就是是利用计算机的网络接口截
获其他计算机的数据报文的一种工具,而且它与一般的键盘捕获程序不同。键盘捕获程序捕
获在终端上输入的键值,
络节点处,对网络中的数据帧进行捕获的一种被动监听手段,是一种常用的收集有用数据的
方法,可以分析各种信息包并描述出网络的结构和使用的机器,由于它接收任何一个在同一
网段上传输的数据包,所以也就存在着捕获密码、各种信息、秘密文档等一些没有加密的信
息的可能性。这成为黑客们常用的扩大战果的方法,用来夺取其他主机的控制权。当然嗅探
器的正当用处主要是网络管理人员分析网络的流量,以便找出所关心的网络中潜在的问题。
例如,假设网络的某一段运行得不是很好,报文的发送比较慢,而我们又不知道问题出在什
么地方,此时就可以用嗅探器截获网络中的数据包,分析问题的所在。[1]

本次毕业设计是基于C#的网络嗅探器的设计与实现,由于本人能力上的限度,只是对
抓取到的本机在网络中的通信数据,比如说协议类型,源、目的地址和端口、数据包的大小
等加以分析,而无法做到像Sniffer或者影音神探那种成熟的嗅探器所拥有的强大功能。作
为从事网络技术方面的人员来说,要想有效地利用它、防范它,就得深入地学****分析网络
嗅探技术。最为重要的是,对于网络嗅探器的设计与实现,使我对网络通信,数据传输和网
络信息安全等有了切身的体会与融入,同时也是对大学四年的学以致用,不断提高自我的一
种有效途径。
1
嘉兴学院本科毕业生毕业论文(设计)
2系统分析

基于C#的网络嗅探器的设计与实现,首先就是要设定好实现的目标,确定开发的环境。
有个合理的设计目标使得在设计过程中不茫然,思路更清楚。而一个好的开发环境对提高开
发的效率同样起着很重要的作用。

实现一个简单的网络嗅探器。具备以下功能:
1、实现一个简洁的易操作的计算机操作用户界面
2、实现抓取数据包的功能
3、实现暂停抓取数据包的功能
4、实现清空列表的功能
5、实现显示数据包详细信息的显示功能

MicrosoftVisualStudio2005,WindowsXP

本节将对本设计中用到的一些主要技术进行简单的介绍。
#语言简介
C#(CSharp)是微软于2000年提出的一种源于C++、类似于Java的面对向象编程语
言,适合于分布式环境中的组件开发。C#,。
C#,而Java本身却不能胜任这一需求。
C#太像C++了,以至于它很难给人带来体验新事物时的那种兴奋。不过,绝大部分的C++
开发者将会因为C#保留了C++中大部分其喜欢的、强大的、令人激动的功能而选择使用它。
C#通过避免一般的编程错误和自动资源管理,使得C#的稳定性得到了极大的增强。另外,
2
嘉兴学院本科毕业生毕业论文(设计)
C#语言功能强大且可以实现对象之间的转换,轻松实现各种对象转换成字符串。鉴于以上种
种,我选用C#作为我本次设计的开发语言。[2]

数据在网络上是以很小的称为帧(Frame)的单位传输的,帧由几部分组成,不同的部
分执行不同的功能。帧通过特定的称为网络驱动程序的软件进行成型,然后通过网卡发送到
网线上,通过网线到达它们的目的机器,在目的机器的一端执行相反的过程。接收端机器的
以太网卡捕获到这些帧,并告诉操作系统帧已到达,然后对其进行存储。就是在这个传输和
接收的过程中,存在着安全方面的问题。
每一个在局域网(LAN)上的工作站都有其硬件地址,这些地址唯一地表示了网络上的
机器(这一点与Internet地址系统比较相似)。当用户发送一个数据包时,这些数据包就会
发送到LAN上所有可用的机器。[3]
图示:一个简单的局域网组成
在一般情况下,网络上所有的机器都可以“听”到通过的流量,但对不属于自己的数据
包则不予响应(换句话说,工作站A不会捕获只属于工作站B的数据,而是简单地忽略这些
数据)。
嗅探器工作在网络的底层,在网络上监听数据包来获取敏感信息。从原理上来说,在一
个实际的系统中,数据的收发是由网卡来完成的,网卡接收到传输来的数据,其内的单片程
序接收数据帧的目的MAC地址,根据计算机上的网卡驱动程序设置的接收模式判断该不该接
收,认为该接收就接收后产生中断信号通知CPU,认为不该接收就丢掉不管,所以不该接收
的数据网卡就截断了,计算机根本就不知道。对于网卡来说一般有四种接收模式:
a)广播方式:该模式下的网卡能够接收网络中的广播信息。
3
嘉兴学院本科毕业生毕业论文(设计)
的、对标准的发展负责的工作机构,以便有效地引导因特网的发展成长,这样,因特网工程
工作组(INENG)成立了。今天,因特网工程部(IETF)和因特网研究部(TRTF)成为对因
特网近期工程需求和远期研究目标负责、并担负重任的两个工作组。这两个组织曾直接隶属
于国际网络执行委员会(IAB),现在属于因特网协会(1992年成立),这个协会最终也是为
因特网技术的发展负责的。
但是,如果你是一个因特网上的常客,可能对缩略词IAB并不满意,的确,在IAB的逐
步发展并走向成熟过程中,IAB将它的名字改为“InternetArchitectureBoard”(由
“Activities”改为“Architecture”),因为IAB在因特网发展的运作方面并没起多大作
用。谈到RFC标准,那么首先考虑到的应该是RFC733。如果有关于标准的想法或对因特网
有益的新技术,可以把它作为RFC提交给因特网社会。作为IAB成员之一的RFC编辑,决定
着RFC的发表,对任一正式文档,RFC都有一种确定的风格和格式。[5]
现今因特网上用到的主要协议有:用户数据报协议(UDP),次要文件传输协议(TFTP),
网际协议(IP),因特网控制报文协议(ICMP),传输控制协议(TCP),地址转换协议(ARP),
虚终端协议(Telnet),反向地址转换协议(RARP),外部网关协议(EGP)版本2,引导协议
(BootP),路由信息协议(RIP),距离向量多播路由协议(DVMRP)。下面对其中的4个协议做
一些简单的介绍:
①IP:网际协议IP是TCP/IP的心脏,也是网络层中最重要的协议。IP层接收由更低
层(网络接口层,例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层--TCP
或UDP层;相反,IP层也把从TCP或UDP层接收来的数据包传送到更低层。IP数据包是不
可靠的,因为IP并没有做任何事情来确认数据包是按顺序发送的或者没有被破坏。IP数据
包中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。
高层的TCP和UDP服务在接收数据包时,通常假设包中的源地址是有效的。也可以这样
说,IP地址形成了许多服务的认证基础,这些服务相信数据包是从一个有效的主机发送来
的。IP确认包含一个选项,叫作IPSourceRouting,可以用来指定一条源地址和目的地址
之间的直接路径。对于一些TCP和UDP的服务来说,使用了该选项的IP包好象是从路径上
的最后一个系统传递过来的,而不是来自于它的真实地点。这个选项是为了测试而存在的,
说明了它可以被用来欺骗系统来进行平常是被禁止的连接。那么,许多依靠IP源地址做确
认的服务将产生问题并且会被非法入侵。
5
嘉兴学院本科毕业生毕业论文(设计)
②TCP:如果IP数据包中有已经封好的TCP数据包,那么IP将把它们向‘上’传送到
TCP层。TCP将包排序并进行错误检查,同时实现虚电路间的连接。TCP数据包中包括序号
和确认,所以未按照顺序收到的包可以被排序,而损坏的包可以被重传。
TCP将它的信息送到更高层的应用程序,例如Telnet的服务程序和客户程序。应用程
序轮流将信息送回TCP层,TCP层便将它们向下传送到IP层,设备驱动程序和物理介质,
最后到接收方。
面向连接的服务(例如Telnet、FTP、Rlogin、XWindows和SMTP)需要高度的可靠性,
所以它们使用了TCP。DNS在某些情况下使用TCP(发送和接收域名数据库),但使用UDP传
送有关单个主机的信息。
③UDP:UDP与TCP位于同一层,但对于数据包的顺序错误或重发。因此,UDP不被应用
于那些使用虚电路的面向连接的服务,UDP主要用于那些面向查询---应答的服务,例如NFS。
相对于FTP或Telnet,这些服务需要交换的信息量较小。使用UDP的服务包括NTP(网落时
间协议)和DNS(DNS也使用TCP)。欺骗UDP包比欺骗TCP包更容易,因为UDP没有建立
初始化连接(也可以称为握手)(因为在两个系统间没有虚电路),也就是说,与UDP相关的
服务面临着更大的危险。
④ICMP:ICMP与IP位于同一层,它被用来传送IP的的控制信息。它主要是用来提供
有关通向目的地址的路径信息。ICMP的‘Redirect’信息通知主机通向其他系统的更准确
的路径,而‘Unreachable’信息则指出路径有问题。另外,如果路径不可用了,ICMP可以
使TCP连接‘体面地’终止。PING是最常用的基于ICMP的服务。[6]

“包”(Packet)是TCP/IP协议通信传输中的数据单位,一般也称“数据包”。有人说,
局域网中传输的不是“帧”(Frame)吗?没错,但是TCP/IP协议是工作在OSI模型第三层(网
络层)、第四层(传输层)上的,而帧是工作在第二层(数据链路层)。上一层的内容由下一层
的内容来传输,所以在局域网中,“包”是包含在“帧”里的。OSI(OpenSystem
Interconnection,开放系统互联)模型是由国际标准化组织(ISO)定义的标准,它定义了一
种分层体系结构,在其中的每一层定义了针对不同通信级别的协议。OSI模型有5层,1到
5层分别是:物理层、数据链路层、网络层、传输层、应用层。OSI模型在逻辑上可分为两
个部分:低层的1至3层关注的是原始数据的传输;高层的4至5层关注的是网络下的应用
6
嘉兴学院本科毕业生毕业论文(设计)
程序。我们可以用一个形象一些的例子对数据包的概念加以说明:我们在邮局邮寄产品时,
虽然产品本身带有自己的包装盒,但是在邮寄的时候只用产品原包装盒来包装显然是不行
的。必须把内装产品的包装盒放到一个邮局指定的专用纸箱里,这样才能够邮寄。这里,产
品包装盒相当于数据包,里面放着的产品相当于可用的数据,而专用纸箱就相当于帧,且一
个帧中只有一个数据包。“包”听起来非常抽象,那么是不是不可见的呢?通过一定技术
手段,是可以感知到数据包的存在的。比如在Windows2000Server中,把鼠标移动到任务
栏右下角的网卡图标上(网卡需要接好双绞线、连入网络),就可以看到“发送:××包,收
到:××包”的提示,如下图所示:
通过数据包捕获软件,也可以将数据包捕获并加以分析。就是用网络嗅探器捕获数据
包,可以查看捕获到的数据包的MAC地址、IP地址、协议类型端口号等细节。通过分析这
些数据,网管员就可以知道网络中到底有什么样的数据包在活动了。数据包的结构非常复杂,
不是三言两语能够说清的,在这里主要了解一下它的关键构成就可以了,这对于理解TCP/IP
协议的通信原理是非常重要的。数据包主要由“目的IP地址”、“源IP地址”、“净载数据”
等部分构成。数据包的结构与我们平常写信非常类似,目的IP地址是说明这个数据包是要
发给谁的,相当于收信人地址;源IP地址是说明这个数据包是发自哪里的,相当于发信人
地址;而净载数据相当于信件的内容。正是因为数据包具有这样的结构,安装了TCP/IP
协议的计算机之间才能相互通信。我们在使用基于TCP/IP协议的网络时,网络中其实传递
的就是数据包。比如说当你上网时打开某个网页,这个简单的动作,就是你先发送数据
包给那个网站,它接收到了之后,根据你发送的数据包的IP地址,返回给你网页的
数据包,也就是说,网页的浏览,实际上就是数据包的交换。理解数据包,对于网络
管理的网络安全具有至关重要的意义。
7
嘉兴学院本科毕业生毕业论文(设计)
3详细设计

嗅探器是如何工作的?如何窃听网络上的信息?网络的一个特点就是数据总是在流动
中,从一处到另外一处,而互联网是由错综复杂的各种网络交汇而成的,也就是说:当你的
数据从网络的一台电脑到另一台电脑的时候,通常会经过大量不同的网络设备,(我们用
tracert命令就可以看到这种路径是如何进行的)。如果传输过程中,有人看到了传输中的
数据,那么问题就出现了——这就好比我们用手机给人发了一条短信,结果除了发送对象以
外,还发到别人的手机上了一样,这样说或许还不是可很怕,要是传送的数据是企业的机密
文件呢,或是用户的信用卡帐号和密码呢?[8]
嗅探侦听主要有两种途径,一种是将侦听工具软件放到网络连接的设备或者放到可以控
制网络连接设备的电脑上,(比如网关服务器,路由器)——当然要实现这样的效果可能也需
要通过其他***来实现:比如通过木马方式将嗅探器发给某个网络管理员,使其不自觉
的为攻击者进行了安装。另外一种是针对不安全的局域网(采用交换HUB实现),放到个人电
脑上就可以实现对整个局域网的侦听,这里的原理是这样的:共享HUB获得一个子网内需要
接收的数据时,并不是直接发送到指定主机,而是通过广播方式发送到每个电脑,对于处于
接受者地位的电脑就会处理该数据,而其他非接受者的电脑就会过滤这些数据,这些操作与
电脑操作者无关,是系统自动完成的,但是电脑操作者如果有意的话,就可以将那些原本不
属于他的数据打开,这就是安全隐患!
以太网的数据传输是基于“共享”原理的:所有的同一本地网范围内的计算机共同接收
到相同的数据包。这意味着计算机直接的通讯都是透明可见的。正是因为这样的原因,以太
网卡都构造了硬件的“过滤器”。这个过滤器将忽略掉一切和自己无关的网络信息。事实上
是忽略掉了与自身MAC地址不符合的信息。
嗅探程序正是利用了这个特点,它主动的关闭了这个过滤器,也就是前面提到的设置网
卡“混杂模式”。因此,嗅探程序就能够接收到整个以太网内的网络数据了信息了。[9]
什么是以太网的MAC地址(MAC:MediaAccessControl),由于大量的计算机在以太
网内“共享“数据流,所以必须有一个统一的办法用来区分传递给不同计算机的数据流的。
这种问题不会发生在拨号用户身上,因为计算机会假定一切数据都由你发送给MODEM,然后
通过电话线传送出去。可是,当你发送数据到以太网上的时候,你必须弄清楚,哪台计算机
是你发送数据的对象。的确,现在有大量的双向通讯程序出现了,看上去,他们好像只会在
两台机器内交换信息,可是你要明白,以太网的信息是共享的,其他用户,其实一样接收到
了你发送的数据,只不过是被过滤器给忽略掉了。[10]
举例一下,很多的小型局域网计算机用户都为实现文件和打印共享,安装了“NetBEUI”
9

网络嗅探器的设计与实现论文 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数22
  • 收藏数0 收藏
  • 顶次数0
  • 上传人mama1
  • 文件大小1.42 MB
  • 时间2023-04-19