ICMP协议

一、ICMP协议

ICMP(Internet Control Message Protocol)网际控制报文协议。它是TCP/IP协议簇的一个子协议,ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用,ICMP属于网络层协议。ICMP 报文作为 IP 层数据报的数据,加上数据报的首部,组成 IP 数据报发送出去。

 二、ICMP报文格式

ICMP报文的前4个字节是统一的格式,共有三个字段:类型、代码和检验和。接着的4个字节的内容与ICMP的类型有关。最后面是数据字段,其长度取决于ICMP的类型。

ICMP报文的种类有两种,即ICMP差错报告报文ICMP询问报文

所有的 ICMP 差错报告报文中的数据字段都具有同样的格式。把收到的需要进行差错报告的 IP 数据报的首部和数据字段的前 8 个字节提取出来,作为 ICMP 报文的数据字段。再加上相应的ICMP差错报告报文的前8个字节,就构成了ICMP差错报告报文。提取收到的数据报的数据字段前8个字节是为了得到运输层的端口号(对于TCP和UDP)以及运输层报文的发送序号(对于TCP),整个ICMP报文作为IP数据报的数据字段发送给源点。

三、ICMP报文类型

1、ICMP报文类型

2、几种常见的ICMP报文类型

ICMP标准在不断更新。已不再使用的ICMP报文有:“信息请求与回答报文”、“地址掩码请求与回答报文”、“路由器请求与通告报文”以及“源点抑制报文”[RFC 6633]。现在不再把这几种报文列入。

ICMP报文的代码字段是为了进一步区分某种类型中的几种不同情况。检验和字段用来检验整个ICMP报文。由于IP数据报首部的检验和并不检验IP数据报的内容,因此不能保证经过传输的ICMP报文不产生差错。

1)、回显应答和请求

ICMP 回送请求报文是由主机或路由器向一个特定的目的主机发出的询问。收到此报文的主机必须给源主机或路由器发送ICMP回送回答报文。这种询问报文用来测试目的站是否可达以及了解其有关状态。

Ping命令,使用的就是响应请求(Type=8)和应答(Type=0),一台主机向一个节点发送一个 Type=8 的 ICMP 报文,如果途中没有异常,则目标返回 Type=0 的 ICMP 报文,说明这台主机存在

2)、目标不可达

当路由器或主机不能交付数据报时就向源点发送目标不可达报文。例如我们要连接对方一个不存在的系统端口时,将返回 Type=3,Code=3 的 ICMP 端口不可达报文。常见的不可到达类型还有网络不可到达(Code=0)、主机不可到达(Code=1)、协议不可到达(Code=2)等

3)、时间超过

无连接方式网络的问题就是数据报会丢失,或者长时间在网络游荡而找不到目标,或者拥塞导致主机在规定时间内无法重组数据报分段,这时就要触发 ICMP 超时报文的产生。超时报文(Type=11)的代码域有两种取值:传输超时(Code=0),表示重组分段超时(Code=1)

4)、时间戳

时间戳请求与回答可用于时钟同步和时间测量。时间戳请求报文(Type=13)和时间戳应答报文(Type=14)可以用于测试两台主机之间数据报来回一次的传输时间。传输时,主机填充原始时间戳,接收方收到请求后填充接收时间戳后以Type=14的报文格式返回,发送方计算这个时间差

四、Wireshark抓取ICMP数据包 

1)、ICMP请求报文

报文字段说明:

  • Type:报文类型
  • Code:类型代码
  • Checksum:检验和
  • [Checksum Status]:校验和状态
  • Identifier(BE):标识符大端
  • Identifier(LE):标识符小端
  • Sequence Number(BE):序列号大端
  • Sequence Number(LE):序列号小端
  • Data:数据字段

 2)、ICMP响应报文

  • 1
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值