「作者主页」:士别三日wyx「作者简介」:阿里云博客专家、华为云享专家、网络安全领域优质创作者
「专栏简介」:此文章已录入专栏《计算机网络零基础快速入门》


ICMP协议

  • 一、工作原理
  • 二、数据报格式
  • 三、报文类型



ICMP协议是IP的一个组成部分,负责传递

「控制信息」。

一、工作原理

ICMP的功能是检错而不是纠错;

它将出错的报文返回给发送方的设备,发送方根据ICMP报文确定「错误类型」,从而更好的重发错误的数据包。

我们用来测试网络连通性的 ping 命令,就是ICMP的工作过程。

二、数据报格式

ICMP是IP协议的一部分,因此,ICMP协议的报文包含在IP数据报的数据部分:

解决ICMP timestamp请求响应漏洞_http


1)类型(Type):4位,标明ICMP报文的作用及格式。

2)代码(Code):4位,标明报文的类型。

3)校验和:8位,检验报文是否有误。

三、报文类型

ICMP协议主要通过 Type 和 Code

1)请求响应

发送方发送一个 Type =8 的报文,途中没有异常,接收方就会返回一个 Type=0

比如下面这一对请求和响应,注意看我圈中的地方:

解决ICMP timestamp请求响应漏洞_网络_02


2)网络、主机、协议、端口不可达

这几种情况的报文类型都是一样的,接收方返回一个 Type = 3 , Code=3

解决ICMP timestamp请求响应漏洞_安全_03


常见的不可到达类型还有网络不可到达(Code=0)、主机不可到达(Code=1)、协议不可到达(Code=2)。

完整的ICMP报文类型如下:

TYPE

CODE

Description

0

0

Echo Reply——回显应答(Ping应答)

3

0

Network Unreachable——网络不可达

3

1

Host Unreachable——主机不可达

3

2

Protocol Unreachable——协议不可达

3

3

Port Unreachable——端口不可达

3

4

Fragmentation needed but no frag. bit set——需要进行分片但设置不分片比特

3

5

Source routing failed——源站选路失败

3

6

Destination network unknown——目的网络未知

3

7

Destination host unknown——目的主机未知

3

8

Source host isolated (obsolete)——源主机被隔离(作废不用)

3

9

Destination network administratively prohibited——目的网络被强制禁止

3

10

Destination host administratively prohibited——目的主机被强制禁止

3

11

Network unreachable for TOS——由于服务类型TOS,网络不可达

3

12

Host unreachable for TOS——由于服务类型TOS,主机不可达

3

13

Communication administratively prohibited by filtering——由于过滤,通信被强制禁止

3

14

Host precedence violation——主机越权

3

15

Precedence cutoff in effect——优先中止生效

4

0

Source quench——源端被关闭(基本流控制)

5

0

Redirect for network——对网络重定向

5

1

Redirect for host——对主机重定向

5

2

Redirect for TOS and network——对服务类型和网络重定向

5

3

Redirect for TOS and host——对服务类型和主机重定向

8

0

Echo request——回显请求(Ping请求)

9

0

Router advertisement——路由器通告

10

0

Route solicitation——路由器请求

11

0

TTL equals 0 during transit——传输期间生存时间为0

11

1

TTL equals 0 during reassembly——在数据报组装期间生存时间为0

12

0

IP header bad (catchall error)——坏的IP首部(包括各种差错)

12

1

Required options missing——缺少必需的选项

13

0

Timestamp request (obsolete)——时间戳请求(作废不用)

14

Timestamp reply (obsolete)——时间戳应答(作废不用)

15

0

Information request (obsolete)——信息请求(作废不用)

16

0

Information reply (obsolete)——信息应答(作废不用)

17

0

Address mask request——地址掩码请求

18

0

Address mask reply——地址掩码应答