TCP/IP-ICMP协议

Posted perfy576

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TCP/IP-ICMP协议相关的知识,希望对你有一定的参考价值。

8.1 作用

ip协议没有提供直接的方法发现那些发往目的地失败的ip数据包。因此采用internet控制报文协议提供ip协议层配置和ip数据报存执相关的诊断和控制信息。一般认为是ip层的一部分。但是使用ip层进行传输,因此是一个介于网络层和传输层之间的协议。

8.1 报文格式

icmp使用网络层传出,协议字段为1,表示报文类型为icmpv4.

  1. 8位 类型

  2. 8位 代码

  3. 16位 校验和

  4. 依赖于类型和代码的内容

    可变

校验和涵盖一个为头部,是一个端到端的,每一跳都不会改变。

8.2 查询报文

目前仅仅是ping在用了。

格式为

技术分享图片

数据中包含了本地时间的一份拷贝,因此可以估算RTT

8.3 差错报文

类型代码描述 
0 查询报文 回显应答 回显ping,返回数据  
8 查询报文 回显请求 ping  
3 目的地不可达 0 网络不可达  
  1 主机不可达 出现在直接交付时,对端主机没找到,比如arp失败
  2 协议不可达  
  3 端口不可达 找到了主机,但是对应端口没有被监听
  4 需要分片,但是设置了部分偏 MTU包含在生成的差错报文中
  5 源路由失败,中间跳不可达  
5 重定向 0 网络或子网重定向数据报 路由器收到了一个数据包对应的下一跳并不是自身的包。发送给主机重定向报文,包含下一跳ip地址,并且将报文正确投递
  1 主机重定向  
  2 服务类型和网络重定向  
  3 服务类型和主机重定向  
9 0 正常路由通告  
11 0 ttl超时  
  1 分片重组超时  
12 0 指针只是差错,字节偏移量指针指示的第一个问题字段  
  2 错误的总长度字段  

 

8.4 生成条件

一下情况不产生icmp差错报文

  1. icmp差错差错报文

  2. 目的地为广播或是组播地址的数据报

  3. 链路层广播的数据报

  4. 不是第一片的分片

  5. 源地址不是单个主机地址。也就是说不是0地址,环回地址,广播组播地址

主要是为了限制生成广播风暴。

8.5 相关攻击

icmp相关的攻击主要分为3类,泛洪、炸弹、信息泄露。

  1. 泛洪

    产生大量流量,对一台或多太计算机攻击

  2. 炸弹

    发送经过特殊构造的报文,导致ip或是icmp处理崩溃或是终止

 

以上是关于TCP/IP-ICMP协议的主要内容,如果未能解决你的问题,请参考以下文章

ping使用的icmp协议的疑问?

ICMP协议是啥?

ICMP协议详解

ICMP协议详解

ICMP协议

网际报文控制协议ICMP