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协议的主要内容,如果未能解决你的问题,请参考以下文章
TCP/IP详解 卷1:协议—ICMP:Internet控制报文协议
TCP/IP详解 卷1:协议—ICMP:Internet控制报文协议
TCP/IP详解 卷1:协议—ICMP:Internet控制报文协议