精华内容
下载资源
问答
  • ICMP协议的功能

    千次阅读 2018-04-20 16:55:30
    产生ICMP报文情况:IP协议并不是一个可靠协议,它不保证数据被送达,那么,自然,保证数据送达工作应该由其他模块来完成。其中一个重要模块就是ICMP(网络控制报文)协议。...主要功能:· 侦测远...

    产生ICMP报文的情况:

    IP协议并不是一个可靠的协议,它不保证数据被送达,那么,自然的,保证数据送达的工作应该由其他的模块来完成。其中一个重要的模块就是ICMP(网络控制报文)协议。当传送IP数据包发生错误--比如主机不可达,路由不可达等等,ICMP协议将会把错误信息封包,然后传送回给主机。给主机一个处理错误的机会,这 也就是为什么说建立在IP层以上的协议是可能做到安全的原因。

    主要功能:
    · 侦测远端主机是否存在。
    · 建立及维护路由资料。
    · 重导资料传送路径(ICMP重定向)。
    · 资料流量控制。
    展开全文
  • 14、ICMP协议的主要功能

    万次阅读 2014-04-21 10:42:44
    从技术角度来说,ICMP就是一个“错误侦测与回报机制”,其目的就是让我们能够检测网路连线状况﹐也能确保连线准确性﹐其功能主要有:  侦测远端主机是否存在。  建立及维护路由资料。  重导数据传送路径。...

         ICMP的全称是 Internet Control Message Protocol 。从技术角度来说,ICMP就是一个“错误侦测与回报机制”,其目的就是让我们能够检测网路的连线状况﹐也能确保连线的准确性﹐其功能主要有:

    • 侦测远端主机是否存在
    • 建立及维护路由资料
    • 重导数据传送路径
    • 数据流量控制

    ICMP在沟通之中,主要是通过不同类型的报文让主机或路由器识别不同的链路传输情况。常用的ICMP报文类型如下



    展开全文
  • ICMP

    2021-04-09 10:20:38
    ICMP协议的功能主要有: 确认IP包是否成功到达目标地址 通知在发送过程中IP包被丢弃的原因 注意: ICMP是基于IP协议工作的,但是它并不是传输层的功能,因此仍然把它归结为网络层协议 ICMP只能搭配IPv4使用,如果是...

    ICMP是(Internet Control Message Protocol)Internet控制报文协议。
    ICMP协议是一种面向无连接的协议,它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。ICMP是一个网络层协议。
    ICMP协议的功能主要有:
    确认IP包是否成功到达目标地址
    通知在发送过程中IP包被丢弃的原因
    注意:
    ICMP是基于IP协议工作的,但是它并不是传输层的功能,因此仍然把它归结为网络层协议
    ICMP只能搭配IPv4使用,如果是IPv6的情况下, 需要是用ICMPv6
    ICMP出现的原因
    在IP通信中,经常有数据包到达不了对方的情况。原因是,在通信途中的某处的一个路由器由于不能处理所有的数据包,就将数据包一个一个丢弃了。或者,虽然到达了对方,但是由于搞错了端口号,服务器软件可能不能接受它。这时,在错误发生的现场,为了联络而飞过来的信鸽就是ICMP 报文。在IP 网络上,由于数据包被丢弃等原因,为了控制将必要的信息传递给发信方。ICMP 协议是为了辅助IP 协议,交换各种各样的控制信息而被制造出来的。
    制定万维网规格的IETF 在1981 年将RFC7922作为ICMP 的基本规格整理出来了。那个RFC792 的开头部分里写着“ICMP 是IP 的不可缺少的部分,所有的IP 软件必须实现ICMP协议。也是,ICMP 是为了分担IP 一部分功能而被制定出来的。
    ICMP的用途
    在RFC,将ICMP 大致分成两种功能:差错通知和信息查询。
    [1]给送信者的错误通知;[2]送信者的信息查询。
    [1]是到IP 数据包被对方的计算机处理的过程中,发生了什么错误时被使用。不仅传送发生了错误这个事实,也传送错误原因等消息。
    [2]的信息询问是在送信方的计算机向对方计算机询问信息时被使用。被询问内容的种类非常丰富,他们有目标IP 地址的机器是否存在这种基本确认,调查自己网络的子网掩码,取得对方机器的时间信息等。
    ICMP作为IP的上层协议在工作(报文)
    ICMP 的内容是放在IP 数据包的数据部分里来互相交流的。也就是,从ICMP的报文格式来说,ICMP 是IP 的上层协议。但是,正如RFC 所记载的,ICMP 是分担了IP 的一部分功能。所以,被认为是与IP 同层的协议。
    用来传送ICMP 报文的IP 数据包上实际上有不少字段。但是实际上与ICMP 协议相关的只有7 个子段。
    1)协议;2)源IP 地址;3)目的IP 地址;4)生存时间;这四个包含在IP 首部的字段。
    5)类型;6)代码;7)选项数据;这三个包含在ICMP数据部分的字段。
    这里面,1)协议字段值是1。2)和3)是用来交流ICMP 报文的地址信息,没有特殊意义。对于理解ICMP 本身,重要的是5),6),7)三个字段。这里面的可以称为核心的重要字段是5)类型,6)代码这两个字段。所有ICMP 用来交流错误通知和信息询问的报文,都是由类型和代码的组合来表示的。RFC 定义了15种类型。“报文不可到达”这样的错误通知和“回送请求”这样的信息查询是由类型字段来区分的。ICMP报文由类型来表达它的大概意义,需要传递细小的信息时由代码来分类。进一步,需要向对方传送数据的时候,用7)选项数据字段来放置。
    ICMP和安全的关系
    为什么停止方便的ICMP?
    为什么有停止ICMP 使用的设定项目呢?理由只有一个,那就是确保安全。虽然ICMP 是非常便利的协议,但黑客在尝试非法访问的时候会被恶意利用。由于ICMP 被恶意使用而遭受损害的用户正在不断增加之中,因此有了限制ICMP 使用的意见。

    ICMP数据包攻击
    那么实际上,ICMP 被怎样恶意使用的呢?想考虑安全相关问题,不知道这个就开不了头。看两个典型的恶意使用例子吧。
    作为恶意使用ICMP 的最有代表性的例子,也就是所谓的 “ping 洪水”的攻击。它利用ping 的原理,向目标服务器发送大量的ICMP 回送请求。这是黑客向特定的机器连续发送大量的ICMP 回送请求报文。目标机器回答到达的ICMP 回送请求已经用尽全力了,原来的通信处理就变得很不稳定了。进一步,目标机器连接的网络也可能由于大量的ICMP 数据包而陷入不可使用的状态。
    与ping 洪水相似,以更加恶劣的使用方法而闻名的是称为“smurf”的攻击手法。smurf 同样,黑客恶意的使用ICMP 回送请求报文。这一点同ping 洪水是相同的。不过在smurf,对ICMP 回送请求实施了一些加工。源IP 地址被伪装成攻击对象服务器的地址,目标地址也不是攻击对象服务器的地址,而是成为中转台的网络的广播地址。
    来具体看一下smurf 攻击的流程吧!

    黑客发送伪装了的ICMP 回送请求后,到达在作为踏板的网络的入口处的路由器。这样,路由器将回送请求转发给网内所有的计算机(同2)。假如有100 台计算机,回送请求将到达100 台所有的计算机。收到回送请求的计算机对此作出反应,送出回送回答报文(同3)。这样,黑客送出的一个ICMP回送请求报文,一下子增加到了100 倍。
    这样增加的ICMP 回送回答报文面向的不是黑客的计算机,而是伪装成回送请求的源IP 地址的攻击对象服务器。变成到达了,从几百台计算机发出的巨大数量的ICMP 回送回答。smurf 与ping 洪水攻击不同,因为到达服务器的是ICMP 回送回答,服务器不用返回回答。但是为了处理大量的ICMP,服务器承受了大量的负载。网路被撑爆了也是一样的(同4)。
    除此之外,还有很多各种各样ICMP 被恶意使用的例子。例如,通知错误或询问信息本身,也有被黑客用来传递谎言的可能性。同用信鸽来扩展谎言的传播,通过传递与事实不同的信息来使人判断错误是一样的。而且,反过来也有传递错误信息而变成问题的例子。例如,在实现篇里看到的端口扫描,黑客就可以利用它来进行攻击对象的调查。进一步,推翻了“ICMP 是用来控制IP 的”这一常识的恶意使用方法也登场了。就是将ICMP 的选项数据部分作为信息搬运工的手法。黑客将这种工具隐藏在服务器里,从外部控制服务器,将用户的个人信息和重要的情报偷盗出来。如上,仅从安全的方面来说,ICMP 是有百害而无一利的。

    阻止ICMP后将陷入困境
    “那阻止所有的ICMP 不就行了吗!”可能有读者会这样认为。不过那就太轻率了。ICMP 作为支持IP的协议是需要的,所以被制作了。即使没有,也不是说IP 通信本身就完全不行了,实际上会出现几个难办的情况。
    它的典型例子就是称为“黑洞路由器”的问题。所谓黑洞路由器,就是通信路径上的IP 数据包不留痕迹的消失了的现象。原因是,实现篇里说明的路径MTU 探索功能不起作用了。

    假设通信路径上有因为MTU 大小不同而需要分片的路由器。而且,计算机和路由器之间,为了安全上的原因,设置了阻止ICMP 报文通过的防火墙。这种情况下,计算机实行路径MTU 探索将会怎么样呢?
    1.不能调整数据包长度
    如果是传送路径上不需要分片大小的IP 数据包,它将会毫无问题地到达对方。另一方面,数据包的长度是需要分片的时候,发送就会有问题。
    正如实现篇看到的,这样的数据包到达连接在不同大小MTU 的网络的路由器后,路由器将用ICMP 终点不可达报文来通知发送方。本来的处理是,送信方接收到该ICMP 报文,根据路径MTU 探索处理调整MTU 大小后继续通信。但是,这次的例子,ICMP 报文被路经中的防火墙隔断了。路径MTU 探索功能不起作用,MTU 的大小也就不能调整了。
    2.不知道原理就不可能理解
    最近从局域网的计算机通过ADSL 服务访问万维网时,经常看到这个黑洞路由器现象。ADSL 线路的MTU 大小,宽带路由器的设定,Windows 的路径MTU 探索功之间互相关联引起了这个现象。糟糕的是,即使有黑洞路由器,也不是完全不能通信这一点。不管怎么样说,被吸进去的只是长度是需要分片的IP 数据包。也就是,考虑一下WEB 访问,连接WEB 服务器时是没有问题的,以文字为主体的页面也大都能被显示,但是含有比较大图像的页面不能被显示。黑洞路由器就由这种复杂奇怪的现象表现出来了。如果不知道路径MTU 探索和黑洞路由器的原理的话,碰到这种现象,可能连猜想原因都很困难了。
    3.即使阻止了客户端也没问题
    如最初所见,在现实的万维网上,如果事先使所有的ICMP 功能有效的话,就会给了黑客各种各样的机会,安全上就会有问题了。
    另一方面,如果一个一个阻止了的话,不仅非常不方便,而且还会发生黑洞路由器等问题。那么,如何充分运用ICMP 才行呢?客户端,服务器,还有路由器,从各个方面来看一下。
    首先从客户端开始。最近的宽带路由器和个人防火墙,通过设置来阻止ICMP 的很多。但是,初期设置是千差万别的。阻止全部ICMP 的也有,反过来的也有。其中,只允许ping 命令等一部分ICMP 报文通过的也有。
    原来,对于安全的考虑方法是根据环境的不同而变化巨大的,并不是一定要这样才行的。但是,最近的倾向是,使连在万维网上的个人计算机不应答没有必要的ICMP 报文。例如Windows XP 的情况下,使用操作系统自带的个人防火墙的话,默认是将外部来的所有ICMP 报文隔断。
    那么路由器怎么样呢?万维网中的路由器,不小心阻断了ICMP 的话,会发生黑洞路由器等问题。还有,大量的数据包涌过来的时候,如果不发送ICMP 源点抑制报文,处理速度就会跟不上。路由器的话,这样的情况以外,再加上考虑周围网络环境的基础上,再来判断是否阻断不需要的或者可能造成攻击的ICMP数据包比较好吧。
    服务器就比较难判断了。例如,不让它回应ping 命令的话,连不上服务器的时候,就缺少了调查的有效手段。但是,有受到ping 洪水攻击的可能性也是事实。这些只能由管理者来判断了。

    展开全文
  • TCP/IP——ICMP

    2021-02-15 10:35:03
    ICMP主要的功能包括: 1)确认 IP 包是否成功送达目标地址 2)报告发送过程中 IP 包被废弃的原因 3)改善网络设置 在IP通信中如果某个IP包因为某种原因未能达到目标地址,那么这个具体的原因将由 ICMP 负责通知...

    1. 简介

    ICMP 全称是 Internet Control Message Protocol,也就是互联网控制报文协议。

    2. 功能

    ICMP 主要的功能包括:

    1)确认 IP 包是否成功送达目标地址

    2)报告发送过程中 IP 包被废弃的原因

    3)改善网络设置

    在 IP 通信中如果某个 IP 包因为某种原因未能达到目标地址,那么这个具体的原因将由 ICMP 负责通知。

    ICMP 目标不可达消息ICMP 目标不可达消息

    如上图例子,主机 A 向主机 B 发送了数据包,由于某种原因,途中的路由器 2 未能发现主机 B 的存在,这时,路由器 2 就会向主机 A 发送一个 ICMP 目标不可达数据包,说明发往主机 B 的包未能成功。

    ICMP 的这种通知消息会使用 IP 进行发送 。

    因此,从路由器 2 返回的 ICMP 包会按照往常的路由控制先经过路由器 1 再转发给主机 A 。收到该 ICMP 包的主机 A 则分解 ICMP 的首部和数据域以后得知具体发生问题的原因。

    3. ICMP数据包

    字段说明:

    类型 说明
    类型 占一字节,标识ICMP报文的类型,从类型值来看ICMP报文可以分为两大类。第一类是取值为1~127的差错报文,第2类是取值128以上的信息报文
    代码 占一字节,标识对应ICMP报文的代码。它与类型字段一起共同标识了ICMP报文的详细类型
    校验和 这是对包括ICMP报文数据部分在内的整个ICMP数据报的校验和,以检验报文在传输过程中是否出现了差错(其计算方法与在我们介绍IP报头中的校验和计算方法是一样的)

    抓包:

    实验: 用110主机去ping107主机(ping命令是基于icmp,在网络层)

    1)请求

    包格式

    2) 应答

    包格式

    4. ICMP类型

    icmp大致分为两类报文:

    1)通知出错原因

    2)诊断查询

    类型(十进制) 内容
    0 回送应答
    3 目标不可达
    4 原点抑制
    5 重定向或改变路由
    8 回送请求
    9 路由器公告
    10 路由器请求
    11 超时
    17 地址子网请求
    18 地址子网应答

    5. traceroute

    traceroute也是基于ICMP协议实现的。
    功能:
    打印出可执行程序主机,一直到目标主机之前经历多少路由器。

    展开全文
  • 辅助IP的ICMP

    2019-11-16 09:22:50
    1、ICMP协议概述ICMP主要是用于确认IP包是否成功发送至目标地址,通知在发送过程中,IP包被废弃的具体原因,改善网络设置等。有了这些功能就方便对网络进行诊断。 ICMP也是基于IP协议工作的,但是它并不是传输层...
  • ICMP协议详解

    万次阅读 多人点赞 2018-05-30 18:51:00
    ICMP协议详解 ICMP协议是一个网络层协议。 一个新搭建好的网络,往往需要先进行一个简单的测试,来验证网络是否畅通;...ICMP协议的功能主要有: 1. 确认IP包是否成功到达目标地址 2. 通知在发送过程中IP包被...
  • ICMP协议

    2020-06-10 16:49:52
    ICMP协议的功能主要有: 1. 确认IP包是否成功到达目标地址 2. 通知在发送过程中IP包被丢弃的原因 如下图所示: 我们需要注意几点: 1.ICMP是基于IP协议工作的,但是它并不是传输层的功能,因此仍然把它
  • IP数据包格式与ICMP协议一、IP数据包格式1、IP协议字段2、协议字段实例二、ICMP协议1、ICMP主要功能介绍2、ICMP基本使用(1)ping命令返回信息(2)ping命令常用参数 一、IP数据包格式 网路层负责定义数据通过...
  • Z5NTS功能icmp

    千次阅读 2006-02-05 17:39:00
    连续两天,终于完成了Z5NTS imcp部分-可以发送所有imcp类型数据,对icmp协议也有了近一步认识,IMCP类型说明如下(主要是参见stevensTCP/IP三卷,这几本读三遍也不为过):   类型 代码 描述 0 0  回显...
  • 关于ICMP简介

    万次阅读 2019-06-01 22:22:29
    ICMP 简介 ICMP是(Internet Control Message Protocol)Internet控制报文协议。...ICMP协议的功能主要有: 确认IP包是否成功到达目标地址 通知在发送过程中IP包被丢弃的原因 注意: ICMP是基于IP...
  • ICMP协议效验码计算

    2014-03-31 22:33:32
    ICMP全名Internat Control Message ...其主要功能有: 侦测远端主机是否存在。 建立及维护路由资料。 重导资料传送路径。 资料流量控制。 ICMP协议校验和算法 unsignedshortchksum(addr,len) unsigned

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 537
精华内容 214
关键字:

icmp主要的功能