第5章+ICMP协议.ppt_第1页
第5章+ICMP协议.ppt_第2页
第5章+ICMP协议.ppt_第3页
第5章+ICMP协议.ppt_第4页
第5章+ICMP协议.ppt_第5页
已阅读5页,还剩28页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第五章 ICMP协议,第五章 ICMP协议,5.1 ICMP协议的作用与原理5.2 ICMP数据包的格式5.3 各种ICMP数据包5.3.1 回显请求与应答5.3.2 目标不可达错误5.3.3 源端关闭5.3.4 超时错误5.3.5 数据包参数问题5.3.6 获取子网掩码,5.1 ICMP协议的作用与原理,ICMP(Internet Control Messages Protocol, 网间控制报文协议),通过它可以知道故障的具体原因和位置。 由于IP不是为可靠传输服务设计的, ICMP的目的主要是用于在TCP/IP网络中发送出错和控制消息。 ICMP的错误报告只能通知出错数据包的源主机,而无

2、法通知从源主机到出错路由器途中的所有路由器(环路时)。 ICMP数据包是封装在IP数据包中的。,5.2 ICMP数据包的格式,层次: ICMP数据包是封装在IP数据包中的。,5.2 ICMP数据包的格式,ICMP数据包格式如图5-1所示。,5.3 各种ICMP数据包,ICMP报文的种类有两种,即ICMP差错报告报文和ICMP询问报文。 ICMP报文的类型字段的值与ICMP报文类型的对应关系如后表所示。,5.3 各种ICMP数据包,ICMP报文类型,5.3 各种ICMP数据包,ICMP报文类型,5.3 各种ICMP数据包,ICMP报文类型,5.3 各种ICMP数据包,ICMP报文类型,5.3 各

3、种ICMP数据包,Ping-R的声纳定位 利用ICMP协议包来测定另一个主机是否可达。原理是用类型码为0的ICMP发送请求,受到请求的主机用类型码为8的ICMP回应。Ping 程序计算时间间隔,并计算有多少个包被送达。 这是因为PING的请求数据包每经过一个路由器的时候,都会把出口地址复制到包里,最后目的主机再将地址复制到回应数据包发给源主机。 复制有限(放在IP层)!同层偏上! 为什么?,因为路由器只解IP层,5.3 各种ICMP数据包,ICMP差错报文的特点 报告IP数据报在传输中的差错是ICMP报文最基本的功能,ICMP差错报文有如下特点: (1) ICMP差错报文基本都是由路由器发送到

4、源主机的,因为IP数据报中含有源主机的IP地址,报告给源主机是最可行的方案,另外,发出IP数据报的源主机最需要知道数据是否到达目标主机。 (2) ICMP差错报文只提供IP数据报在传输过程中的差错报告,并不规定对各类差错应采取什么样的处理措施。具体对差错的处理,由收到ICMP差错报文的源主机将相应的差错与应用程序联系起来才能进行相应的差错处理。,5.3 各种ICMP数据包,(3) ICMP差错报文不享受任何优先权,也没有特别的可靠性保证措施,与普通的IP数据报一样进行传输,传输过程中可能被丢失、损坏,甚至被抛弃。 (4) ICMP差错报文是伴随着抛弃出错的IP数据报而产生的。 (5) 当路由器

5、发送一份参数错误等的ICMP差错报文时,ICMP报文数据区始终包含产生ICMP差错报文的IP数据报的头部和其数据区的前8个字节(64位)。,5.3 各种ICMP数据包,当路由器发送参数错误等的ICMP报文数据字段由两部分组成,一部分是收到的需要进行差错报告的IP数据报的首部,另一部分是IP数据报的数据字段的前8个字节,如图5-3所示。,5.3 各种ICMP数据包,(6) 在有些情况下,为了防止在网络中产生大量的ICMP差错报文(广播风暴),影响网络的正常工作,即使发生差错,也不会产生ICMP差错报文,这些情况包括: ICMP报文发生差错。这是为了避免差错报文无休止产生而规定的(但ICMP查询报

6、文可能会产生ICMP差错报文)。 目的地址是广播地址或多播地址(D类地址)的IP数据报。 作为链路层广播的数据报。 不是IP分片的第一片。 源地址不是单个主机的数据报。这就是说,源地址不能为零地址、回送地址、广播地址或多播地址。,5.3 各种ICMP数据包,ICMP控制报文 1拥塞控制与源站抑制报文 当一个路由器接收IP数据报的速度比其处理IP数据报的速度快,或一个路由器传入数据报的速率大于传出数据报的速率时,就会产生拥塞(Congestion)现象。 这时路由器可以通过发送源站抑制(Source Quench)报文来抑制源主机发送IP数据报的速率,避免可能产生的差错。,5.3 各种ICMP数

7、据包,源站抑制报文的类型字段为4,代码字段只能为0。源站抑制技术进行拥塞控制的方法如下: (1) 当路由器发生拥塞时,便发出ICMP源站抑制报文。拥塞的判别可以用三种方法:一是检查路由器缓存区是否已满;二是给缓存区输出队列设置一个阈值,判断队列中数据报的个数是否超过阈值;三是检测某输入线路的传输率是否过高。 (2) 源主机收到抑制报文后,按一定的速率降低发往目标主机的数据报传输率。 (3) 如果在一定的时间间隔内源主机没有收到抑制报文,便认为拥塞已解除,源主机可以逐渐恢复到原来数据报的流量。,5.3 各种ICMP数据包,2. 路由控制与重定向报文 假如源主机要向目标主机发送IP数据报,源主机的

8、默认路由是路由器1,则源主机先把IP数据报送到路由器1,再由路由器1进行路由选择。路由器1经过选路后,把IP数据报送到路由器2。 同时路由器1也发现源主机要发送到目标主机的IP数据报以后可以直接发送到路由器2(因为路由器1和路由器2同在一个网络中),则路由器1向源主机发送一个ICMP重定向报文,告诉它可以直接把IP数据报送到路由器2。这样,就使源主机始终保持着一个动态的、既小且优的路径表。,5.3 各种ICMP数据包,ICMP重定向例子,5.3 各种ICMP数据包,ICMP重定向报文的格式如图所示,它的类型字段为5,代码字段为03,路由器IP地址为源主机向目标主机发送IP数据报时的优化路由。,

9、5.3 各种ICMP数据包,回送请求与应答报文 回送请求报文由源主机发出,目标主机应答,用于测试另一台主机或路由器是否可达。其报文格式如图所示。,5.3 各种ICMP数据包,地址掩码请求与应答报文(无盘工作站,标识符与序号由发送方任意设定,应答中被返回),5.3 各种ICMP数据包,时间戳请求与应答报文(同步时间),5.3 各种ICMP数据包,ICMP差错报告报文共有五种: 目标不可达:路由器无法转发丢弃IP数据报,类型3,但代码又细分,最后字段说明出错的数据包(路由器与主机)。 源端关闭:网络阻塞时(路由器与主机) 。 超时错误: TTL=0时(路由器与主机),分片丢失时(路由器与主机)。

10、数据包参数问题: 路由器或主机发现格式不对时,会指出出错点。 改变路由(重定向),5.3 各种ICMP数据包,ICMP询问报文有四种: 回送请求和回答:用来测试发送与接收两端链路及目标主机TCP/IP协议是否正常,只要收到就是正常,最后字段简单(主机与主机)。 时间戳请求和回答 掩码地址请求和回答:源主机发送,ICMP地址掩码请求用于无盘系统在引导过程中获取自己的子网掩码。 路由器询问和通告,5.4 ICMP数据包分析,Ping命令利用ICMP应答报文来测试目标系统是否可达。 当源主机向目标主机发送了ICMP询问请求数据包,目标主机在收到ICMP询问请求数据包后,它会交换源、目的主机的地址,然

11、后将收到的ICMP询问请求数据包中的数据部分原封不动地封装在自己的ICMP询问应答数据包中,然后发回给发送ICMP询问请求的一方。如果校验正确,发送者便认为目标主机的询问服务正常,也即物理连接畅通。,5.4 ICMP数据包分析,5.4 ICMP数据包分析,ICMP虽然不是路由协议,但是有时它也可以指导数据包的流向(使数据流向正确的网关)。ICMP协议通过ICMP重定向数据包(类型5、代码0:网络重定向)达到这个目的。 当IP数据包在某有个地方转向的时候,都会给源主机一个重定向报文。是主机所用!,5.4 ICMP数据包分析,当路由器R1收到此ARP请求包后,它首先用ARP应答包回答主机PC的AR

12、P请求(通知主机PC:路由器R1自己的E0接口的MAC地址)。然后,它 (路由器R1)将此ICMP请求转发到路由器R2的E0接口:192.168.1.254(要求路由器R1正确配置了到网络192.168.3.0/24 的路由表)。此外,路由器R1还要发送一个ICMP重定向消息给主机PC,通知主机PC更好的转发网关是:192.168.1.254。 路由器R2此时会发送一个ARP请求消息请求主机PC的MAC地址,而主机PC会发送ARP应答消息给路由器R2。最后路由器R2通过获得的主机PC的MAC地址信息,将ICMP应答消息发送给主机PC。,例如主机PC要ping路由器R2的lo0地址:192.16

13、8.3.1,主机将判断出目标属于不同的网段,因此它要将ICMP请求包发往自己的默认网关192.168.1.253,这之前主机PC首先必须发送ARP请求,请求路由器R1的E0(192.168.1.253)的MAC地址。,5.4 ICMP数据包分析,在缺省的状况下,ICMP的服务一直都是开启的。也就是说,一台网络设备,如果不做任何配置,开机以后,它在缺省状态下是对这些ICMP的嗅探报文做出回应的。那么必然就会浪费系统宝贵的CPU和内存的资源。如果一个黑客在互联网的某个地方向你的网络设备(计算机也好,路由器也好)发送大量的ICMP嗅探报文,你的网络设备就会疲于回应,被浪费掉系统资源,而不能提供服务。

14、,5.4 ICMP数据包分析,基于ICMP的的攻击和传统基于TCP的攻击的不同之处在于,对一个网络管理员来说, TCP 的端口在缺省的情况下是关闭的,需要做特殊的配置,提供某项服务时才打开。而ICMP的服务在几乎是任何一台网络设备上都是缺省开启的。而且,过滤ICMP的服务类型也是一件很麻烦的事。 一般情况下,网络管理员不能完全拦截ICMP的网络流量,因为还需要使用ping来测试网络的联通性,可用的办法就是对ICMP响应的速率进行流量限制,,5.4 ICMP数据包分析,ICMP还被黑客们用来进行网络侦查,监测被攻击对象的操作系统的类型,利用几乎已经被人遗忘的一些ICMP的功能,黑客们能准确的知道攻击目标是一台微软的PC机还是Linux, 还是交换机或者是路由器,还能知道是哪个厂商生产的网络设备,是什么型号,甚至操作系统的版本号也

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论