网络嗅探技术ppt.ppt

上传人:za****8 文档编号:17047837 上传时间:2020-11-07 格式:PPT 页数:39 大小:688KB
返回 下载 相关 举报
网络嗅探技术ppt.ppt_第1页
第1页 / 共39页
网络嗅探技术ppt.ppt_第2页
第2页 / 共39页
网络嗅探技术ppt.ppt_第3页
第3页 / 共39页
点击查看更多>>
资源描述
11.1 网络协议分析及嗅探原理 11.2 常用嗅探器 11.3 网络嗅探防范技术 第 11章 网络嗅探技术 本节内容 11.1.1 嗅探技术与嗅探器 11.1.2 通信协议分析 11.1.3 嗅探原理 11.1.4 简单的嗅探技术 11.1 网络协议分析及嗅 探原理 11.1.1 嗅探技术与嗅探器 嗅探器 (Sniffer)可以理解为一个安装在计算机上的窃听设备,它 可以用来窃听计算机在网络上所产生的众多的信息。一部电话的窃听 装置,可以用来窃听双方通话的内容,而计算机网络嗅探器则可以窃 听计算机程序在网络上发送和接收到的数据。 嗅探器是利用计算机的网络接口截获目的地及其他计算机数据报 文的一种技术。它工作在网络的最底层,把网络传输的全部数据记录 下来。嗅探器可以帮助网络管理员查找网络漏洞和检测网络性能,嗅 探器可以分析网络的流量,以便找出所关心的网络中潜在的问题。不 同传输介质的网络可监听性是不同的。一般来说,以太网被监听的可 能性比较高,因为以太网是一个广播型的网络; FDDI Token被监听的 可能性也比较高,尽管它并不是一个广播型网络,但带有令牌的那些 数据包在传输过程中,平均要经过网络上一半的计算机;微波和无线 网被监听的可能性同样比较高,因为无线电本身是一个广播型的传输 媒介,弥散在空中的无线电信号可以被很轻易的截获。 一般情况下,大多数的嗅探器至少能够分析下面的协议: l 标准以太网协议; l TCP/IP; l IPX ; l DECNET; l FDDI Token; l 微波和无线网协议。 实际应用中的嗅探器分软、硬两种。软件嗅探器便宜易于使用,缺点是往往 无法抓取网络上所有的传输数据 (比如碎片 ),也就无法全面了解网络的故障和运 行情况;硬件嗅探器通常称为协议分析仪,它的优点恰恰是软件嗅探器所欠缺的, 但是价格昂贵。目前使用的嗅探器仍是以软件为主。 嗅探器捕获真实的网络报文。嗅探器通过将其置身于网络接口来达到这个目 的。例如:将以太网卡设置成混杂模式。数据在网络上是以帧 (Frame)为单位传 输的。帧是通过特定的网络驱动程序进行传送的,然后通过网卡发送到网线上。 通过网线到达它们的目的机器,在目的机器的一端执行相反的过程。接收端机器 的以太网卡捕获到这些帧,并告诉操作系统帧已到达,然后对其进行存储。就是 在这个传输和接收的过程中,每一个在 LAN上的工作站都有其硬件地址。这些地 址唯一地表示着网络上的机器。当用户发送一个报文时,这些报文就会发送到 LAN上所有可用的机器。在一般情况下,网络上所有的机器都可以 “ 侦听 ” 到通 过的流量,但对不属于自己的报文则不予响应。如果某工作站的网络接口处于混 杂模式,那么它就可以捕获网络上所有的报文和帧,如果一个工作站被配置成这 样的方式,它就是一个嗅探器。这也是嗅探器会造成安全方面的问题的原因。通 常使用嗅探器的入侵者,都必须拥有基点用来放置嗅探器。对于外部入侵者来说, 能通过入侵外网服务器、往内部工作站发送木马等获得所需信息,然后用基点来 放置其嗅探器,而内部破坏者就能够直接获得嗅探器的放置点,比如使用附加的 物理设备作为嗅探器。 嗅探器可能造成的危害有: l 嗅探器能够捕获口令; l 能够捕获专用的或者机密的信息; l 可以用来危害网络邻居的安全,或者用来获取更高级 别的访问权限; l 分析网络结构,进行网络渗透。 11.1.2 通信协议分析 1.与嗅探技术有关的网络通信设备 中继器:中继器的主要功能是终结一个网段的信号并在另一个 网段再生该信号 , 起到信号放大和转发的作用 , 中继器工作在物理 层上 。 网桥:网桥使用 MAC物理地址实现中继功能 , 可以用来分隔网 段或连接部分异种网络 , 网桥工作在数据链路层 。 路由器:路由器工作在网络层 , 主要负责数据包的路由寻径 , 也能处理物理层和数据链路层上的工作 。 网关:主要工作在网络第四层以上,主要实现收敛功能及协议 转换,不过很多时候网关都被用来描述任何网络互连设备。 2.TCP/IP与以太网 以太网和 TCP/IP可以说是相互相成的 , 可以说两者的关系几乎是密不可 分 , 以太网在一二层提供物理上的连线 , 而 TCP/IP工作在上层 , 使用 32位的 IP地址 , 以太网则使用 48位的 MAC地址 , 两者间使用 ARP和 RARP协议进行相互 转换 。 载波监听 /冲突检测 (CSMA/CD)技术被普遍的使用在以太网中 , 所谓载波 监听是指在以太网中的每个站点都具有同等的权利 , 在传输自己的数据时 , 首先监听信道是否空闲 , 如果空闲 , 就传输自己的数据 , 如果信道被占用 , 就等待信道空闲 。 而冲突检测则是为了防止发生两个站点同时在网络发送数 据而产生的冲突 。 以太网采用广播机制 , 所有与网络连接的工作站都可以看 到网络上传递的数据 。 3.TCP/IP通信 在 TCP/IP通信中,网络接口层直接与硬件地址相连接,网间网层与 IP地 址相连接,传输层与 TCP接口相连接,应用层则是面向用户的应用程序接口, 如 FTP、 TELNET等接口。一个典型的在以太网中客户与服务器使用 TCP/IP 协议的通信如图 11-1所示。 FTP TCP端口 IP 地址 硬件地址 电缆 FTP服务器 TCP端口 IP 地址 硬件地址 电缆 应用层 传输层 网络接口层 网间网层 物理网络 客户 服务 器 用户进程 内核中的协议 栈 以太网驱动程序 内核中的协议栈 物理网络 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 简单嗅探技术 在这一节中,我们介绍几种常用的嗅探技术。 1.ARP Spoof( ARP欺骗) ARP Spoof攻击的根本原理是因为计算机中维护着一个 ARP高速 缓存 , 并且这个 ARP高速缓存是随着计算机不断的发出 ARP请求和收 到 ARP响应而不断的更新的 , ARP高速缓存的目的是把机器的 IP地址 和 MAC地址相互映射 ( 绑定 ) 。 可以使用 ARP命令来查看自己的 ARP 高速缓存 。 现在设想一下 , 一个 Switch工作在数据链路层 , 根据 MAC地址来转发他所接收的数据包 , 而计算机维护的 ARP高速缓存却 是动态的 。 在这种情况下 , 会发生什么样的事情呢 ? 为了便于分析,我们为三台计算机统一分配 IP地址。 2.MAC Flooding( MAC地址溢出) 在上面我们曾经提到过 , Switch之所以能够由数据包中目的 MAC地址 判断出他应该把数据包发送到那一个端口上是根据自身维护的一张 ARP地 址表 。 这张地址表可能是动态的也可能是静态的 , 这要看 Switch的厂商和 Switch的型号来定 , 对于某些 Switch来说 , 他维护的是一张动态的地址表 , 并且地址表的大小是有上限的 , 比如 3com Superstack Switch 3300就是 这样一种 Switch, 我们可以通过发送大量错误的地址信息而使 Switch维护 的地址表 “ 溢出 ” , 从而使他变成广播模式来达到我们要 Sniff机器 A与机 器 C之间的通信的目的 。 3.Fake the MAC address(伪造 MAC地址) 伪造 MAC地址也是一种常用的办法,不过这要基于你网络内的 Switch 是动态更新其地址表,这实际上和我们上面说到的 ARP Spoof 有些类似, 只不过现在是想要 Switch相信你,而不是要机器 A相信你。因为 Switch是 动态更新其地址表的。其关键技术是需要向 Switch发送伪造过的数据包, 其中源 MAC地址对应的是机器 C的 MAC地址,现在 Switch就把机器 C和你的端 口对应起来了。 4.ICMP Router Advertisements( ICMP路由通告) 这主要是由 ICMP路由器发现协议 (IRDP)的缺陷引起的 , 在 Windows 95/98/2000及 SunOS、 Solaris 2.6等系统中 , 都使用了 IRDP协议 , SunOS 系统只在某些特定的情况下使用该协议 , 而 Windows 95/98和 Windows 2000都是默认的使用 IRDP协议 。 IRDP协议的主要内容就是告诉人们谁是路 由器 , 如果一个黑客利用 IRDP宣称自己是路由器的情况是很糟糕的 , 因为 所有相信黑客的请求的机器都会把所有的数据都发送给黑客所控制的机器 。 5.ICMP Redirect( ICMP重定向) 所谓 ICMP重定向,就是指告诉机器向另一个不同的路由发送他的数据 包, ICMP重定向通常使用在这样的场合下,假设 A与 B两台机器分别位于同 一个物理网段内的两个逻辑子网内,而 A和 B都不知道这一点,只有路由器 知道,当 A发送给 B的数据到达路由器的时候,路由器会向 A送一个 ICMP重 定向包,将 B的真实地址告诉 A,这样, A就可以和 B直接通信了。而一个黑 客完全可以利用这一点来进行攻击,使得 A发送给 B的数据直接发送给黑客。 12.2 常用嗅探器 本节内容 11.2.1 Sniffit 11.2.2 Snoop 11.2.3 TCPdump 11.2.4 Dsniff 10.2.1 Sniffit Sniffit 可 以 运 行 在 Solaris 、 SGI 和 Linux 等 平 台 上 , 由 Lawrence Berkeley Laboratory 实验室开发的一个免费的网络监听软件 。 而 Sniffit PRO版支持 Windows NT, 也支持 WINDOWS 2000。 使用方法: -a: 以 ASCII形式将监听的结果输出 。 -A: 在进行记录时 , 所有不可打印的字符都可代替 。 -b: 等同于同时使用参数 -t & -s。 -d: 将监听所得内容以十六进制方式显示在当前终端 。 -p: 记录连接到的包 , 0为所有端口 。 缺省为 0。 -P protocol: 选择要检查的协议 , 缺省为 TCP。 可能的选择有 IP、 TCP、 ICMP、 UDP和他 们的组合 。 -s:指定 Sniffer 检查从 发送的数据包 。 -t 指定 Sniffer 检查发送到的数据包 。 -i:进入交互模式 。 -l:设定数据包大小, default(缺省值)是 300字节。 想要记录从主机 210.50.30.100上的用户口令: sniffit: /# sniffit p 23 -t 210.50.30.100 想要记录到主机 210.50.30.100的 ftp服务: sniffit: /# sniffit p 21 l 0 t 210.50.30.100 记录所有发出和发往主机 210.50.30.100的电子邮件信息: sniffit: /# sniffit -p 25 -l 0 -b t 210.50.30.100 & 或者 sniffit: /# sniffit -p 25 -l 0 ; -b ; -s ; 210.50.30.100 & 想要使用有菜单的界面: sniffit: /# sniffit i 网络出现一些错误 , 想要查看控制消息: sniffit: /# sniffit p icmp b s 210.50.30.100 将口令记录在以 nnn开始的文件中 , 可以用 cat nnn*来查看: sniffit: /# sniffit p 23 A . -t 210.50.30.100 或者 sniffit: /# sniffit p 23 A -t 下面是运行 sniffit的一个例子: # sniffit a A . p 23 t 11.22.33. 入口参数的设置非常简单 , 为: -a接收所有信息; -A将不可打印字符 用 “ .” 代替; -p监听端口 23; -t 目标地址在 11.22.33 子网范围 ( 可以 只监听一台主机或者是源主机 ) 。 使用 -s 参数可以指定监听的源主机 。 网络监听程序的人口参数其实非常简单 , 只要具有初步的网络知识便可以 正确地使用它们 。 以下是监听到的部分结果: Packet D rom-1P.port-to P.port: 11 22 33 41 1028-11 22 33 14 23 E.35 0 .! (.K.2 P.”/ .: .vt100. 出现 vtl00的字样,是使用 Telnet服务时,源主机与目标主机进行终端 类型协商,在这一阶段源主机告诉目标主机自己使用的终端类型,这是一 次远程终端服务的开始。在这之后,很可能就会传输用户的登录名和口令 字。这里很清楚,使用端口 1028的是客户端,而使用端口 23的是服务器端。 10.2.2 Snoop Snoop默认情况安装在 Solaris下,是一个用于显示网络交通的程序。 -a : Listen to packets on audio -d device : settable to le, ie, bf, tr -s snaplen : Truncate packets -c count : Quit after count packets -P : Turn OFF promiscuous mode -D : Report dropped packets -S : Report packet size -i file : Read previously captured packets -o file : Capture packets in file -n file : Load addr-to-name table from file -N : Create addr-to-name table -t r|a|d : Time: Relative, Absolute or Delta -v : Verbose packet display -V : Show all summary lines -p first, last : Select packet(s) to display -x offset, length : Hex dump from offset for length -C : Print packet filter code 10.2.3 TCPdump 1.TCPdump命令格式 TCPdump采用命令行方式 , 它的命令格式为: TCPdump -adeflnNOpqStvx -c 数量 -F 文件名 - i 网络接口 -r 文件名 -s snaplen -T 类型 -w 文件 名 表达式 2.TCPdump的选项 -a 将网络地址和广播地址转变成名字; -d 将匹配信息包的代码以人们能够理解的汇编格式给出; -dd 将匹配信息包的代码以 c语言程序段的格式给出; -ddd 将匹配信息包的代码以十进制的形式给出; -e 在输出行打印出数据链路层的头部信息; -f 将外部的 Internet地址以数字的形式打印出来; -l 使标准输出变为缓冲行形式; -n 不把网络地址转换成名字; -t 在输出的每一行不打印时间戳; -v 输出一个稍微详细的信息; -vv 输出详细的报文信息; -c 在收到指定的包的数目后 , TCPdump就会停止; -F 从指定的文件中读取表达式 , 忽略其它的表达式; -i 指定监听的网络接口; -r 从指定的文件中读取包 (这些包一般通过 -w选项产生 ); -w 直接将包写入文件中 , 并不分析和打印出来; -T 将监听到的包直接解释为指定类型的报文,常见的类型有 rpc和 snmp。 3.TCPdump的表达式 表达式是一个条件表达式 , TCPdump利用它作为过滤报文的条件 , 如果一个 报文满足表达式的条件 , 则这个报文将会被捕获 。 如果没有给出任何条件 , 则网 络上所有的信息包将会被截获 。 在表达式中一般有如下几种类型的关键字 , 第一种是关于类型的关键字 , 主 要包括 host, net, port, 例如 host 210.27.48.2, 指明 210.27.48.2是一台主 机 , net 202.0.0.0 指明 202.0.0.0是一个网络地址 , port 23 指明端口号是 23。 如果没有指定类型 , 缺省的类型是 host。 第二种是确定传输方向的关键字 , 主要包括 src, dst, dst or src, dst and src, 这些关键字指明了传输的方向 。 举例说明 , src 210.27.48.2, 指明 IP 包中源地址是 210.27.48.2, dst net 202.0.0.0指明目的网络地址是 202.0.0.0。 如果没有指明方向关键字 , 则缺省是 src or dst关键字 。 第三种是协议的关键字,主要包括 fddi, ip, arp, rarp, tcp, udp等类型。 fddi指明是在 FDDI(分布式光纤数据接口网络 )上的特定的网络协议,实际上它是 “ ether”的别名, FDDI和 Ether具有类似的源地址和目的地址,所以可以将 FDDI协 议包当作 Ether的包进行处理和分析。其他的几个关键字就是指明了监听的包的协 议内容。如果没有指定任何协议,则 TCPdump将会监听所有协议的信息包。 除了这三种类型的关键字之外 , 其他重要的关键字如下: gateway, broadcast, less, greater, 还有三种逻辑运算 , “ 非 ” 运算是 “ not” 和 “ !” ; “ 与 ” 运算是 “ and” 和 “ &” ; “ 或 ” 运算是 “ or” 和 “ |” 。 例: #TCPdump host 210.40.10.133 将监听 IP地址为 210.40.0.133的机器的通话 。 #TCPdump host 210.40.10.133 and 210.40.10.135 将监听 IP地址为 210.40.0.133及 IP地址为 210.40.10.135的机器的 通话 。 #TCPdump tcp port 23 host 210.40.10.133 将监听 IP地址为 210.40.10.133的机器的 23端口的通话。 10.2.4 Dsniff Dsniff不仅仅是一个 sniff,在他的整个套件包中, 包含了很多其它有用的工具,如 arpspoof, dnsspoof, macof, tcpkill等等,比 Sniff的手段更加的多样和复杂 化。 Dsniff是由 DugSong开发的。目前 Dsniff支持 OpenBSD (i386)、 Redhat Linux(i386)和 Solaris (sparc)。并且在 FreeBSD、 Debian Linux、 Slackware Linux、 AIX、和 HP-UX上也能运转得很好。但是 Dsniff需 要几个其他的第三方软件进行支持,他们分别是 Berkeley DB、 OpenSSL、 libpcap、 libnet、 libnids。 11.3 网络嗅探防范技术 本节内容 11.3.1 如何在网络上发现 Sniffer 11.3.2 Sniffer的防范措施 11.3.1 如何在网络上发现 Sniffer 检测嗅探器可以采用检测混杂模式网卡的工具。由于嗅探器需 要将网络中入侵的网卡设置为混杂模式才能工作,能够检测混杂模 式网卡的 AntiSniff是一个工具。证明你的网络被嗅探有三种方法: 1.网络通讯丢包率非常高 通过一些网管软件 , 可以看到信息包传送情况 , 最简单是 ping 命令 。 它会告诉你掉了百分之多少的包 。 如果你的网络结构正常 , 而又有 20 30 数据包丢失以致数据包无法顺畅的流到目的地 。 就有可能有人在监听 , 这是由于嗅探器拦截数据包导致的 。 2.网络带宽出现反常 通过某些带宽控制器,可以实时看到目前网络带宽的分布情况, 如果某台机器长时间的占用了较大的带宽,这台机器就有可能在监 听。应该也可以察觉出网络通讯速度的变化。 对于 SunOS、 和其它 BSD Unix系统可以使用 lsof来检测嗅探器 的存在 。 lsof最初的设计目地并非为了防止嗅探器入侵 , 但因为 在嗅探器入侵的系统中 , 嗅探器会打开其输出文件 , 并不断传送 信息给该文件 , 这样该文件的内容就会越来越大 。 如果利用 lsof 发现有文件的内容不断的增大 , 我们就怀疑系统被嗅探 。 因为大 多数嗅探器都会把截获的 “ TCP/IP” 数据写入自己的输出文件中 。 这里可以用: ifconfig le0检查端口 .然后用: /usr/sbin/lsof test vi test 或 grep 打开的端口号 检测文件大小的变化 。 如果你确信有人接了嗅探器到自己的网络上,可以找一些验证的 工具。这种工具称为时域反射计量器 (Time Domaio Reflectometer, TDR)。 TDR对电磁波的传播和变化进行测量。将一个 TDR连接到网 络上,能够检测到未授权的获取网络数据的设备。 3.查看进程 在 Windows下,按 Ctrl+Alt+Del键,查看 “ 应用 程序 ” 、 “ 进程 ” 和 “ 用户 ” 项,若发现可疑的 程序、进程和用户,则可怀疑机器被 sniffer, 或是被病毒侵袭,或是正在被黑客攻击。 11.3.2 Sniffer的防范措施 嗅探器通常是难以被发现的 , 因为它是被动的程序 , 一个老练的攻击者可以轻易通过破坏日志文 件来掩盖信息 。 它们并不会给别人留下进行核查的尾巴 。 完全主动的解决方案很难找到 , 我们可以采 用一些被动的防御措施: l 安全的拓扑结构; l 会话加密; l 用静态的 ARP或者 IP MAC对应表代替动态的 ARP。 1.安全的拓扑结构 嗅探器只能在当前网段上进行数据捕获。这就意味着,将网络分段工作进行得越细,嗅探器能够 收集的信息就越少。但是,除非你的公司是一个 ISP,或者资源相对不受限制,否则这样的解决方案 需要付出很大的代价。网络分段需要昂贵的硬件设备。有三种网络设备是嗅探器不可能跨过的:交换 机、路由器、网桥。我们可以通过灵活的运用这些设备来进行网络分段。大多数早期建立的内部网络 都使用 HUB来连接多台工作站,这就为网络中数据的泛播 (数据向所有工作站流通 ),让嗅探器能顺利 地工作提供了便利。普通的嗅探器程序只是简单地进行数据的捕获,因此需要杜绝网络数据的泛播。 随着交换机的价格下降,网络改造变得可行且很必要了。不使用 HUB而用交换机来连接网络,就能 有效地避免数据进行泛播,也就是避免让一个工作站接收与之不相关的数据。 对网络进行分段,比 如在交换机上设置 VLAN,使得网络隔离不必要的数据传送。一般可以采用 20个工作站为一组,这是 一个比较合理的数字。然后,每个月人为地对每个网段进行检测 (也可以每个月采用 MD5随机地对某 个网段进行检测 )。网络分段只适应于中小的网络。如果有一个 500个工作站的网络,分布在 50个以上 的部门中,若要对其完全的分段的话,成本上是很高的。 2.会话加密 会话加密提供了另外一种解决方案。不用特别地担心数据被嗅 探,而是要想办法使得嗅探器不认识嗅探到的数据。这种方法的优 点是明显的:即使攻击者嗅探到了数据,这些数据对他也是没有用 的。 S/key和其它一次性口令技术一样,使窃听帐号信息失去意义。 S/key的原理是远程主机已得到一个口令(这个口令不会在不安全的 网络中传输),当用户连接时会获得一个 “ 挑战 ” (challenge)信息, 用户将这个信息和口令经过某种算法运算,产生正确的 “ 响 应 ” (response)信息(如果通讯双方口令正确的话)。这种验证方式 无需在网络中传输口令,而且相同的 “ 挑战 /响应 ” 也不会出现两次。 S/key可从以下网址得到: ftp: / 它的缺点是所有帐号信息都存放在一台主机中,如果该主机被入侵, 则会危及整个网络安全。另外配置它也不是一件简单的事情。 Kerberos包括流加密 rlogind和流加密 telnetd等,它可以防止入侵者捕 获用户在登录完成后所进行的操作。在加密时有两个主要的问题: 一个是技术问题,一个是人为问题。 技术问题是指加密能力是否高。例如, 64位的 DES加密就可能不够安全, 而且并不是所有的应用程序都集成了加密支持。另外,跨平台的加密方案还 比较少见,一般只在一些特殊的应用之中才有。人为问题是指,有些用户可 能不喜欢加密,他们觉得这太麻烦。用户可能开始会使用加密,但很少能够 坚持下来。总之,必须寻找一种友好的媒介,还要具有一定的用户友好性。 使用 secure shell、 secure copy或者 IPV6协议都可以使得信息安全的传输。传统 的网络服务程序, SMTP、 HTTP、 FTP、 POP3和 Telnet等在本质上都是不安 全的,因为它们在网络上用明文传送口令和数据,嗅探器非常容易就可以截 获这些口令和数据。 SSH的英文全称是 Secure Shell。通过使用 SSH,你可以 把所有传输的数据进行加密。还有一个额外的好处就是传输的数据是经过压 缩的,所以可以加快传输的速度。 SSH有很多功能,它既可以代替 Telnet,又 可以为 FTP、 POP,甚至 PPP提供一个安全的 “ 通道 ” 。 SSH绑定在端口 22上, 其连接采用协商方式使用 RSA加密。身份鉴别完成之后,后面的所有流量都 使用 IDEA进行加密。 SSH程序可以通过网络登录到远程主机并执行命令。 SSH的加密隧道保护的只是中间传输的安全性,使得任何通常的嗅探工具软 件无法获取发送的内容。它提供了很强的安全验证可以在不安全的网络中进 行安全的通信,所以它是防范嗅探器的一种较好的方法。 3.用静态的 ARP或者 IP MAC对应表代替动态的 ARP 或者 IP MAC对应表 该措施主要是进行渗透嗅探的防范,采用诸如 ARP欺 骗手段能够让入侵者在交换网络中顺利完成嗅探。网络管 理员需要对各种欺骗手段进行深入了解,比如嗅探中通常 使用的 ARP欺骗,主要是通过欺骗进行 ARP动态缓存表的 修改。在重要的主机或者工作站上设置静态的 ARP对应表, 比如 Windows 2000/XP系统使用 ARP命令设置,在交换机上 设置静态的 IP-MAC对应表等,防止利用欺骗手段进行嗅探 的手法。 (1)本机 MAC地址和 IP地址的查找 在 DOS命令窗口下,用 ipconfig -all命令查找本机的 MAC地址和 IP地址。如 图 11-4所示。 (2)ARP命令的用法 ARP a -s -d 参数说明: -a 显示 ARP命令帮助 -s 绑定一个 MAC地址和 IP地址 -d 删除一个绑定 例: arp s 10.1.23.31 00-0E-A6-B4-32-84
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!