
网络嗅探技术ppt课件.ppt
39页11.1 11.1 网络协议分析及嗅探原理网络协议分析及嗅探原理11.2 11.2 常用嗅探器常用嗅探器11.3 11.3 网络嗅探防范技术网络嗅探防范技术第11章 网络嗅探技术本节内容本节内容 11.1.1 11.1.1 嗅探技嗅探技术术与嗅探器与嗅探器 11.1.2 11.1.2 通信通信协议协议分析分析 11.1.3 11.1.3 嗅探原理嗅探原理 11.1.4 11.1.4 简单简单的嗅探技的嗅探技术术 11.1 网络协议分析及嗅网络协议分析及嗅 探原理探原理11.1.1 11.1.1 嗅探技术与嗅探器嗅探技术与嗅探器 嗅探器(Sniffer)可以理解为一个安装在计算机上的窃听设备,它可以用来窃听计算机在网络上所产生的众多的信息一部的窃听装置,可以用来窃听双方通话的内容,而计算机网络嗅探器则可以窃听计算机程序在网络上发送和接收到的数据嗅探器是利用计算机的网络接口截获目的地及其他计算机数据报文的一种技术它工作在网络的最底层,把网络传输的全部数据记录下来嗅探器可以帮助网络管理员查找网络漏洞和检测网络性能,嗅探器可以分析网络的流量,以便找出所关心的网络中潜在的问题不同传输介质的网络可监听性是不同的。
一般来说,以太网被监听的可能性比较高,因为以太网是一个广播型的网络;FDDI Token被监听的可能性也比较高,尽管它并不是一个广播型网络,但带有令牌的那些数据包在传输过程中,平均要经过网络上一半的计算机;微波和无线网被监听的可能性同样比较高,因为无线电本身是一个广播型的传输媒介,弥散在空中的无线电信号可以被很轻易的截获一般情况下,大多数的嗅探器至少能够分析下面的协议:l标准以太网协议;lTCP/IP;lIPX;lDECNET;lFDDI Token;l微波和无线网协议实际应用中的嗅探器分软、硬两种软件嗅探器便宜易于使用,缺点是往往无法抓取网络上所有的传输数据(比如碎片),也就无法全面了解网络的故障和运行情况;硬件嗅探器通常称为协议分析仪,它的优点恰恰是软件嗅探器所欠缺的,但是价格昂贵目前使用的嗅探器仍是以软件为主嗅探器捕获真实的网络报文嗅探器通过将其置身于网络接口来达到这个目的例如:将以太网卡设置成混杂模式数据在网络上是以帧(Frame)为单位传输的帧是通过特定的网络驱动程序进行传送的,然后通过网卡发送到网线上通过网线到达它们的目的机器,在目的机器的一端执行相反的过程接收端机器的以太网卡捕获到这些帧,并告诉操作系统帧已到达,然后对其进行存储。
就是在这个传输和接收的过程中,每一个在LAN上的工作站都有其硬件地址这些地址唯一地表示着网络上的机器当用户发送一个报文时,这些报文就会发送到LAN上所有可用的机器在一般情况下,网络上所有的机器都可以“侦听”到通过的流量,但对不属于自己的报文则不予响应如果某工作站的网络接口处于混杂模式,那么它就可以捕获网络上所有的报文和帧,如果一个工作站被配置成这样的方式,它就是一个嗅探器这也是嗅探器会造成安全方面的问题的原因通常使用嗅探器的入侵者,都必须拥有基点用来放置嗅探器对于外部入侵者来说,能通过入侵外网服务器、往内部工作站发送木马等获得所需信息,然后用基点来放置其嗅探器,而内部破坏者就能够直接获得嗅探器的放置点,比如使用附加的物理设备作为嗅探器嗅探器可能造成的危害有:l嗅探器能够捕获口令;l能够捕获专用的或者机密的信息;l可以用来危害网络邻居的安全,或者用来获取更高级别的访问权限;l分析网络结构,进行网络渗透11.1.2 11.1.2 通信协议分析通信协议分析 1.1.与嗅探技术有关的网络通信设备与嗅探技术有关的网络通信设备 中继器:中继器的主要功能是终结一个网段的信号并在另一个网段再生该信号,起到信号放大和转发的作用,中继器工作在物理层上。
网桥:网桥使用MAC物理地址实现中继功能,可以用来分隔网段或连接部分异种网络,网桥工作在数据链路层路由器:路由器工作在网络层,主要负责数据包的路由寻径,也能处理物理层和数据链路层上的工作网关:主要工作在网络第四层以上,主要实现收敛功能及协议转换,不过很多时候网关都被用来描述任何网络互连设备2.2.TCP/IPTCP/IP与以太网与以太网 以太网和TCP/IP可以说是相互相成的,可以说两者的关系几乎是密不可分,以太网在一二层提供物理上的连线,而TCP/IP工作在上层,使用32位的IP地址,以太网则使用48位的MAC地址,两者间使用ARP和RARP协议进行相互转换载波监听/冲突检测(CSMA/CD)技术被普遍的使用在以太网中,所谓载波监听是指在以太网中的每个站点都具有同等的权利,在传输自己的数据时,首先监听信道是否空闲,如果空闲,就传输自己的数据,如果信道被占用,就等待信道空闲而冲突检测则是为了防止发生两个站点同时在网络发送数据而产生的冲突以太网采用广播机制,所有与网络连接的工作站都可以看到网络上传递的数据3.3.TCP/IPTCP/IP通信通信 在TCP/IP通信中,网络接口层直接与硬件地址相连接,网间网层与IP地址相连接,传输层与TCP接口相连接,应用层则是面向用户的应用程序接口,如FTP、TELNET等接口。
一个典型的在以太网中客户与服务器使用TCP/IP协议的通信如图11-1所示FTPTCP端口IP 地址硬件地址电缆FTP服务器TCP端口IP 地址硬件地址电缆应用层传输层网络接口层网间网层物理网络客户服务器用户进程内核中的协议栈以太网驱动程序内核中的协议栈 物理网络11.1.3 11.1.3 嗅探原理嗅探原理 我们知道,计算机所传送的数据是大量的二进制数据因此,一个网络窃听程序也必须使用特定的网络协议来分解嗅探到的数据,嗅探器也就必须能够识别出哪个协议对应于这个数据片断,只有这样才能够进行正确的解码网络嗅探器比起窃听器来说,有他独特的优势:很多的计算机网络采用的是“共享媒体”几乎可以在任何连接着的网络上直接窃听到你同一掩码范围内的计算机网络数据我们称这种窃听方式为“基于混杂模式的嗅探”(promiscuous mode)我们知道,在以太网中,所有的通讯都是广播方式,也就是说通常在同一个网段的所有网络接口都可以接收在物理媒体上传输的所有数据,而每一个网络接口都有一个唯一的硬件地址,这个硬件地址也就是网卡的MAC地址,MAC使用的是48比特的地址,这个地址用来表示网络中的每一个设备,每块网卡上的MAC地址都是不同的。
在硬件地址和IP地址间使用ARP和RARP协议进行相互转换在正常的情况下,一个网络接口应该只响应下述的两种数据帧来完成的:l与自己硬件地址相匹配的数据帧;l发向所有机器的广播数据帧网卡接收到传输来的数据,网卡内的单片程序接收数据帧的目的MAC地址,根据计算机上的网卡驱动程序设置的接收模式判断该不该接收,认为该接收就接收后产生中断信号通知CPU,认为不该接收就丢掉不管,所以不该接收的数据在网卡处就截断了,计算机根本就不知道CPU得到中断信号产生中断,操作系统就根据网卡的驱动程序设置的网卡中断程序地址调用驱动程序接收数据,驱动程序接收数据后放入信号堆栈让操作系统处理而对于网卡来说一般有四种接收模式:l广播方式:该模式下的网卡能够接收网络中的所有广播信息;l组播方式:设置在该模式下的网卡能够接收组播数据;l直接方式:在这种模式下,只有目的网卡才能接收该数据;l混杂模式:在这种模式下的网卡能够接收一切通过它的数据,而不管该数据是否是传给它的与HUB只是简单地把所接收到的信号通过所有端口重复发送出去不同,Switch却可以检查每一个收到的数据包,并对数据包进行相应的处理在Switch内保存着每一个网段上所有结点的物理地址,只允许必要的网络流量通过Switch。
举例来说,当Switch接收到一个数据包之后,根据自身保存的网络地址表检查数据包内包含的发送方和接收方地址如果接收方位于发送方网段内,该数据包就会被Switch丢弃,不能通过交换机传送到其它的网段;如果接收方和发送方位于两个不同的网段,该数据包就会被Switch转发到目标网段这样,通过交换机的过滤和转发,可以有效避免网络广播风暴,减少误包和错包的出现通过前面的学习,网卡接收信息技术可总结如下:l在以太网中是基于广播方式传送数据的,也就是说,所有的物理信号都要经过连接在以太网段上的机器;l网卡可以置于混杂模式(promiscuous),在这种模式下工作的网卡能够接收到一切通过它的数据,而不管实际上数据的目的地址是不是自己的这实际上就是我们Sniff工作的基本原理:让网卡接收一切能接收的数据我们来看一个简单的例子,如图11-2所示,机器A、B、C与集线器HUB相连接,集线器HUB通过路由器Router访问外部网络值得注意的一点是机器A、B、C使用一个普通的HUB连接的,不是用Switch,也不是用Router,使用Switch和Router的情况要比这复杂得多假设机器A上的管理员为了维护机器C,使用了一个FTP命令向机器C进行登录,那么在这个用HUB连接的网络里数据走向过程是这样的。
首先机器A上的管理员输入的登陆机器C的FTP命令经过应用层FTP协议、传输层TCP协议、网络层IP协议、数据链路层上的以太网驱动程序一层一层的包裹,最后送到了物理层所连接的网线上如图11-3接下来数据帧送到了HUB上,再由HUB向每一个接点广播由机器A发出的数据帧,机器B接收到由HUB广播发出的数据帧,并检查在数据帧中的地址是否和自己的地址相匹配,发现不是发向自己的数据后就把这数据帧丢弃,不予理睬而机器C也接收到了数据帧,并在比较之后发现是发现自己的数据帧,接下来就对这数据帧进行接收和分析处理在这个简单的例子中,机器B上的管理员如果很好奇,想知道究竟登陆机器C上FTP口令是什么,要做的事情是很简单的,仅仅需要把自己机器上的网卡置于混杂模式,即可接收数据,接着对接收到的数据帧进行分析,从而可得到包含在数据帧中所想知道的信息FTP命令应用层FTP协议传输层TCP协议网络层IP协议网络接口层以太网卡驱动程序11.1.4 11.1.4 简单嗅探技术简单嗅探技术 在这一节中,我们介绍几种常用的嗅探技术1.1.ARP SpoofARP Spoof(ARPARP欺骗)欺骗)ARP Spoof攻击的根本原理是因为计算机中维护着一个ARP高速缓存,并且这个ARP高速缓存是随着计算机不断的发出ARP请求和收到ARP响应而不断的更新的,ARP高速缓存的目的是把机器的IP地址和MAC地址相互映射(绑定)。
可以使用ARP命令来查看自己的 ARP 高速缓存现在设想一下,一个Switch工作在数据链路层,根据MAC地址来转发他所接收的数据包,而计算机维护的ARP高速缓存却是动态的在这种情况下,会发生什么样的事情呢?为了便于分析,我们为三台计算机统一分配IP地址2.2.MAC FloodingMAC Flooding(MACMAC地址溢出)地址溢出)在上面我们曾经提到过,Switch之所以能够由数据包中目的MAC地址判断出他应该把数据包发送到那一个端口上是根据自身维护的一张ARP地址表这张地址表可能是动态的也可能是静态的,这要看Switch的厂商和Switch的型号来定,对于某些Switch来说,他维护的是一张动态的地址表,并且地址表的大小是有上限的,比如3com Superstack Switch 3300就是这样一种Switch,我们可以通过发送大量错误的地址信息而使Switch维护的地址表“溢出”,从而使他变成广播模式来达到我们要Sniff机器A与机器C之间的通信的目的3.3.Fake the MAC addressFake the MAC address(伪造伪造MACMAC地址)地址)伪造MAC地址也是一种常用的办法,不过这要基于你网络内的Switch是动态更新其地址表,这实际上和我们上面说到的 ARP Spoof 有些类似,只不过现在是想要Switch相信你,而不是要机器A相信你。
因为Switch是动态更。
