icmp 订阅
ICMP(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。 [1]  ICMP使用IP的基本支持,就像它是一个更高级别的协议,但是,ICMP实际上是IP的一个组成部分,必须由每个IP模块实现。 [2] 展开全文
ICMP(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。 [1]  ICMP使用IP的基本支持,就像它是一个更高级别的协议,但是,ICMP实际上是IP的一个组成部分,必须由每个IP模块实现。 [2]
信息
协议族
TCP/IP协议族
类    型
控制报文协议
作    用
在主机与路由器之间传递控制信息
中文名
ICMP
归    属
网络层协议
外文名
Internet Control Message Protocol
ICMP简介
ICMP协议是一种面向无连接的协议,用于传输出错报告控制信息。它是一个非常重要的协议,它对于网络安全具有极其重要的意义。 [3]  它属于网络层协议,主要用于在主机与路由器之间传递控制信息,包括报告错误、交换受限控制和状态信息等。当遇到IP数据无法访问目标、IP路由器无法按当前的传输速率转发数据包等情况时,会自动发送ICMP消息。ICMP 是 TCP/IP 模型中网络层的重要成员,与 IP 协议、ARP 协议、RARP 协议及 IGMP 协议共同构成 TCP/IP 模型中的网络层。ping 和 tracert是两个常用网络管理命令,ping 用来测试网络可达性,tracert 用来显示到达目的主机的路径。ping和 tracert 都利用 ICMP 协议来实现网络功能,它们是把网络协议应用到日常网络管理的典型实例。 [1]  从技术角度来说,ICMP就是一个“错误侦测与回报机制”,其目的就是让我们能够检测网路的连线状况﹐也能确保连线的准确性。当路由器在处理一个数据包的过程中发生了意外,可以通过ICMP向数据包的源端报告有关事件。其功能主要有:侦测远端主机是否存在,建立及维护路由资料,重导资料传送路径(ICMP重定向),资料流量控制。ICMP在沟通之中,主要是透过不同的类别(Type)与代码(Code) 让机器来识别不同的连线状况。ICMP 是个非常有用的协议﹐尤其是当我们要对网路连接状况进行判断的时候。 [3] 
收起全文
精华内容
参与话题
问答
  • ICMP

    千次阅读 2016-05-19 23:07:40
    ICMP(Internet Control Message Protocol)。它是TCP/IP协议族的一个子协议。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息报文格式 8字节长的包头。包含8位类型字段,8位代码字段和16位的...

    ICMP(Internet Control Message Protocol)。它是TCP/IP协议族的一个子协议。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息

    报文格式
    icmp

    8字节长的包头。包含8位类型字段,8位代码字段和16位的校验和;后4个字节根据ICMP包的类型而取不同的值

    “Ping”的过程实际上就是ICMP协议工作的过程

    ICMP与IP协议的关系
    ICMP协议虽然与IP协议同为第三层协议,但ICMP本身不具备传送能力。事实上,它跟TCP/UDP一样,也是靠IP帮忙进行传送

    展开全文
  • icmp

    2019-05-04 17:47:10
    ICMP协议是一种面向无连接的协议,它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据...

    ICMP协议是一种面向无连接的协议,它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递和网络安全具有极其重要的意义。需要注意的是icmp并不会为ip网络提供可靠性,它只会表明某些类型的故障或配置信息。例如当丢包以后,它并不会重传这个数据,而只是返回一个故障信息,告诉主机是什么原因导致的丢包。
    在ipv4中协议字段置1表示该报文封装了icmp。在ipv6中下一头部字段置58表示该报文封装了icmpv6.
    在这里插入图片描述
    Icmp可分为两大类:有关ip数据报传递的icmp报文(差错报文)以及有关信息采集和配置的icmp报文(查询或信息类报文)。在这里插入图片描述

    所有icmp报文头部都有以上固定的4个字节,在icmpv4中为类型字段保留了42个值用于确定特定的报文,但是只有8个是常用的。代码字段可用于进一步确定报文的含义。Icmpv4的校验和字段校验整个icmpv4报文。
    ICMPv4报文的类型和代码字段的值与ICMPv4报文类型的对应关系在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

    Icmp差错报文的特点
    报告IP数据报在传输中的差错是ICMP报文最基本的功能,ICMP差错报文有如下特点:
    (1) ICMP差错报文都是由路由器发送到源主机的,因为IP数据报中含有源主机的IP地址,报告给源主机是最可行的方案,另外,发出IP数据报的源主机最需要知道数据是否到达目标主机。
    (2) ICMP差错报文只提供IP数据报在传输过程中的差错报告,并不规定对各类差错应采取什么样的处理措施。具体对差错的处理,由收到ICMP差错报文的源主机将相应的差错与应用程序联系起来才能进行相应的差错处理。
    (3) ICMP差错报文不享受任何优先权,也没有特别的可靠性保证措施,与普通的IP数据报一样进行传输,传输过程中可能被丢失、损坏,甚至被抛弃。
    (4) ICMP差错报文是伴随着抛弃出错的IP数据报而产生的。
    (5) 当路由器发送一份参数错误等的ICMP差错报文时,ICMP报文数据区始终包含产生ICMP差错报文的IP数据报的头部和其数据区的前8个字节(64位)。
    (6) 在有些情况下,为了防止在网络中产生大量的ICMP差错报文(广播风暴),影响网络的正常工作,即使发生差错,也不会产生ICMP差错报文,这些情况包括:
    ● ICMP报文发生差错。这是为了避免差错报文无休止产生而规定的(但ICMP查询报文可能会产生ICMP差错报文)。
    ● 目的地址是广播地址或多播地址(D类地址)的IP数据报。
    ● 作为链路层广播的数据报。
    ● 不是IP分片的第一片。
    ● 源地址不是单个主机的数据报。这就是说,源地址不能为零地址、回送地址、广播地址或多播地址。
    ICMP控制报文
    1.拥塞控制与源站抑制报文
    当一个路由器接收IP数据报的速度比其处理IP数据报的速度快,或一个路由器传入数据报的速率大于传出数据报的速率时,就会产生拥塞(Congestion)现象。这时路由器可以通过发送源站抑制(Source Quench)报文来抑制源主机发送IP数据报的速率,避免可能产生的差错。源站抑制报文的类型字段为4,代码字段只能为0。源站抑制技术进行拥塞控制的方法如下:
    (1) 当路由器发生拥塞时,便发出ICMP源站抑制报文。拥塞的判别可以用三种方法:一是检查路由器缓存区是否已满;二是给缓存区输出队列设置一个阈值,判断队列中数据报的个数是否超过阈值;三是检测某输入线路的传输率是否过高。
    (2) 源主机收到抑制报文后,按一定的速率降低发往目标主机的数据报传输率。
    (3) 如果在一定的时间间隔内源主机没有收到抑制报文,便认为拥塞已解除,源主机可以逐渐恢复到原来数据报的流量。
    2. 路由控制与重定向报文
    假如源主机要向目标主机发送IP数据报,源主机的默认路由是路由器1,则源主机先把IP数据报送到路由器1,再由路由器1进行路由选择。路由器1经过选路后,把IP数据报送到路由器2。同时路由器1也发现源主机要发送到目标主机的IP数据报以后可以直接发送到路由器2(因为路由器1和路由器2同在一个网络中),则路由器1向源主机发送一个ICMP重定向报文,告诉它可以直接把IP数据报送到路由器2。这样,就使源主机始终保持着一个动态的、既小且优的路径表。
    Icmp的应用
    Ping利用ICMP协议包来侦测另一个主机是否可达。原理是用类型码为0的ICMP发请 求,受到请求的主机则用类型码为8的ICMP回应。Ping程序来计算间隔时间,并计算有多少个包被送达。用户就可以判断网络大致的情况。我们可以看到, Ping给出来了传送的时间和TTL 的数据。
    在这里插入图片描述
    Tracert是路由跟踪实用程序,用于确定 IP 数据报访问目标所采取的路径。Tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由。
    在这里插入图片描述

    展开全文
  • ICMP

    2008-08-04 13:57:00
    ICMP 开放分类: 网络、网络协议英文原义:Internet Control Message Protocol中文释义:(RFC-792)Internet控制消息协议注解:该协议是TCP/IP协议集中的一个子协议,属于网络层协议,主要用于在主机与路由器之间...
    ICMP
    开放分类: 网络网络协议
    英文原义:Internet Control Message Protocol

    中文释义:(RFC-792)Internet控制消息协议

    注解:该协议是TCP/IP协议集中的一个子协议,属于网络层协议,主要用于在主机与路由器之间传递控制信息,包括报告错误、交换受限控制和状态信息等。当遇到IP数据无法访问目标、IP路由器无法按当前的传输速率转发数据包等情况时,会自动发送ICMP消息。我们可以通过Ping命令发送ICMP回应请求消息并记录收到ICMP回应回复消息,通过这些消息来对网络或主机的故障提供参考依据。

    应 用:要使用该协议,我们可以进行相应的ICMP设置,比如在Windows XP中,首先打开“网络连接”,右键单击启用Internet连接防火墙的“网络连接”,选择“属性”打开属性窗口。接着,选择“高级”选项卡,单击右下角“设置”按钮。然后,在高级设置窗口中选择“ICMP”选项卡,在其中就可以进行相应的设置,包括允许传入的回显请求等。


    ICMP是“Internet Control Message Protocol”(Internet控制消息协议)的缩写。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。
    我们在网络中经常会使用到ICMP协议,只不过我们觉察不到而已。比如我们经常使用的用于检查网络通不通的Ping命令,这个“Ping”的过程实际上就是ICMP协议工作的过程。还有其他的网络命令如跟踪路由的Tracert命令也是基于ICMP协议的。

    ICMP的重要性

    ICMP协议对于网络安全具有极其重要的意义。ICMP协议本身的特点决定了它非常容易被用于攻击网络上的路由器和主机. 例如,在1999年8月海信集团“悬赏”50万元人民币测试防火墙的过程中,其防火墙遭受到的ICMP攻击达334050次之多,占整个攻击总数的90%以上!可见,ICMP的重要性绝不可以忽视!

    比如,可以利用操作系统规定的ICMP数据包最大尺寸不超过64KB这一规定,向主机发起“Ping of Death”(死亡之Ping)攻击。“Ping of Death” 攻击的原理是:如果ICMP数据包的尺寸超过64KB上限时,主机就会出现内存分配错误,导致TCP/IP堆栈崩溃,致使主机死机。

    此外,向目标主机长时间、连续、大量地发送ICMP数据包,也会最终使系统瘫痪。大量的ICMP数据包会形成“ICMP风暴”,使得目标主机耗费大量的CPU资源处理,疲于奔命。

    应对ICMP攻击

    虽然ICMP协议给黑客以可乘之机,但是ICMP攻击也并非无药可医。只要在日常网络管理中未雨绸缪,提前做好准备,就可以有效地避免ICMP攻击造成的损失。

    对于“Ping of Death”攻击,可以采取两种方法进行防范:第一种方法是在路由器上对ICMP数据包进行带宽限制,将ICMP占用的带宽控制在一定的范围内,这样即使有ICMP攻击,它所占用的带宽也是非常有限的,对整个网络的影响非常少;第二种方法就是在主机上设置ICMP数据包的处理规则,最好是设定拒绝所有的ICMP数据包。

    设置ICMP数据包处理规则的方法也有两种,一种是在操作系统上设置包过滤,另一种是在主机上安装防火墙。



    Vista系统常用英文专业词语

    ICMP,互联网控制信息协议(Internet CONTROL Message Protocol),用于错误报告和调试。ICMP回应请求,并回应流行的Ping命令所使用的回复信息。




    ICMP报文格式
    ICMP报文包含在IP数据报中,属于IP的一个用户,IP头部就在ICMP报文的前面,所以一个ICMP报文包括IP头部、ICMP头部和ICMP报文(见图表,ICMP报文的结构和几种常见的ICMP报文格式),IP头部的Protocol值为1就说明这是一个ICMP报文,ICMP头部中的类型(Type)域用于说明ICMP报文的作用及格式,此外还有一个代码(Code)域用于详细说明某种ICMP报文的类型,所有数据都在ICMP头部后面。RFC定义了13种ICMP报文格式,具体如下:
    类型代码 类型描述
    0 响应应答(ECHO-REPLY)
    3 不可到达
    4 源抑制
    5 重定向
    8 响应请求(ECHO-REQUEST)
    11 超时
    12 参数失灵
    13 时间戳请求
    14 时间戳应答
    15 信息请求(*已作废)
    16 信息应答(*已作废)
    17 地址掩码请求
    18 地址掩码应答
    其中代码为15、16的信息报文已经作废。
    下面是几种常见的ICMP报文:
    1.响应请求
    我们日常使用最多的ping,就是响应请求(Type=8)和应答(Type=0),一台主机向一个节点发送一个Type=8的ICMP报文,如果途中没有异常(例如被路由器丢弃、目标不回应ICMP或传输失败),则目标返回Type=0的ICMP报文,说明这台主机存在,更详细的tracert通过计算ICMP报文通过的节点来确定主机与目标之间的网络距离。
    2.目标不可到达、源抑制和超时报文
    这三种报文的格式是一样的,目标不可到达报文(Type=3)在路由器或主机不能传递数据报时使用,例如我们要连接对方一个不存在的系统端口(端口号小于1024)时,将返回Type=3、Code=3的ICMP报文,它要告诉我们:“嘿,别连接了,我不在家的!”,常见的不可到达类型还有网络不可到达(Code=0)、主机不可到达(Code=1)、协议不可到达(Code=2)等。源抑制则充当一个控制流量的角色,它通知主机减少数据报流量,由于ICMP没有恢复传输的报文,所以只要停止该报文,主机就会逐渐恢复传输速率。最后,无连接方式网络的问题就是数据报会丢失,或者长时间在网络游荡而找不到目标,或者拥塞导致主机在规定时间内无法重组数据报分段,这时就要触发ICMP超时报文的产生。超时报文的代码域有两种取值:Code=0表示传输超时,Code=1表示重组分段超时。
    3.时间戳
    时间戳请求报文(Type=13)和时间戳应答报文(Type=14)用于测试两台主机之间数据报来回一次的传输时间。传输时,主机填充原始时间戳,接收方收到请求后填充接收时间戳后以Type=14的报文格式返回,发送方计算这个时间差。一些系统不响应这种报文。

    如果您认为本词条还有待完善,需要补充新内容或修改错误内容,请 btn_edit.gif编辑词条
    展开全文

空空如也

1 2 3 4 5 ... 20
收藏数 15,292
精华内容 6,116
热门标签
关键字:

icmp