ICMP协议

Posted zhengyazhao

tags:

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

简介

??ICMP是封装在IP数据报当中的

技术图片

??ICMP通常被IP层或更高的协议使用,ICM报文时在IP数据报内部被传输的。

技术图片


??类型字段可以有15个不同的值,主要用来描述报文的作用,下图介绍了类型和代码分表代表了那些请求或响应

技术图片

??有几种情况都不会产生ICMP差错报文:

1.ICMP差错报文
    因为已经是报的差错报文了,如果它还产生差错报文会产生死循环

2.目的地址是广播或多播地址的IP数据报

3.作为链路层广播的数据报

4.不是IP分片的第一片
    只有ip分片的第一片才带有端口信息,没有端口信息返回的ICMP没有作用

5.源地址不是单个主机的数据报

例子

??拿最常用的ping来说,他就是依靠ICMP协议来进行确认的,下面看下ICMP报文格式

技术图片

??下图是抓包的例子

技术图片

1.类型是8,代码是0 对照上述的类型表可以发现该报文是一个请求报文。

2.checksum是校验和

3.identifier(be)和identifier(le)
    是标识符,只不过wireshark考虑到windows系统和liunx系统发出ping报文的
    字节顺序不一样,分别告诉信息,其本质内容是没有变的
    (windows为LE:little-endian byte order,Linux为BE:big-endian)
    
4.sequence number(BE)和sequence number(LE)
    同identifier一样

??这里是回显报文,和刚才的查询报文明显的区别就是在类型和代码上的。

技术图片









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

国际控制报文协议ICMP

TCP/IP详解 卷1:协议—ICMP:Internet控制报文协议

TCP/IP详解 卷1:协议—ICMP:Internet控制报文协议

TCP/IP详解 卷1:协议—ICMP:Internet控制报文协议

TCP/IP详解 卷1:协议—ICMP:Internet控制报文协议

ping使用的icmp协议的疑问?