Network10-ICMP

ICMP简介

ICMP的报文结构

报头

ICMP报头从IP报头的第160位开始(IP首部20字节)(除非使用了IP报头的可选部分)。
image.png

填充数据

填充的数据紧接在ICMP报头的后面(以8位为一组):

类型 代码 状态 描述 查询 差错
0 - 响应回显 0 Echo响应 (被程序ping使用)
1 and 2 未分配 保留
3 - 目的不可达 0 目标网络不可达
1 目标主机不可达
2 目标协议不可达
3 目标端口不可达
4 要求分段并设置DF flag标志
5 源路由失败
6 未知的目标网络
7 未知的目标主机
8 源主机隔离(作废不用)
9 禁止访问的网络
10 禁止访问的主机
11 对特定的TOS 网络不可达
12 对特定的TOS 主机不可达
13 由于过滤 网络流量被禁止
14 主机越权
15 优先权终止生效
4 - 源端关闭 0 弃用 源端关闭(拥塞控制)
5 - 重定向 0 重定向网络
1 重定向主机
2 基于TOS 的网络重定向
3 基于TOS 的主机重定向
6 弃用 备用主机地址
7 未分配 保留
8 - 请求回显 0 Echo请求
9 - 路由器通告 0 路由通告
10 - 路由器请求 0 路由器的发现/选择/请求
11 - ICMP 超时 0 TTL 超时
1 分片重组超时
12 - 参数问题:错误IP头部 0 IP 报首部参数错误
1 丢失必要选项
2 不支持的长度
13 - 时间戳请求 0 时间戳请求
14 - 时间戳应答 0 时间戳应答
15 - 信息请求 0 弃用 信息请求
16 - 信息应答 0 弃用 信息应答
17 - 地址掩码请求 0 弃用 地址掩码请求
18 - 地址掩码应答 0 弃用 地址掩码应答
19 保留 因安全原因保留
20 至 29 保留 Reserved for robustness experiment
30 - Traceroute 0 弃用 信息请求
31 弃用 数据报转换出错
32 弃用 手机网络重定向
33 弃用 Where-Are-You(originally meant for IPv6
34 弃用 Here-I-Am(originally meant for IPv6)
35 弃用 Mobile Registration Request
36 弃用 Mobile Registration Reply
37 弃用 Domain Name Request
38 弃用 Domain Name Reply
39 弃用 SKIP Algorithm Discovery Protocol, Simple Key-Management for Internet Protocol
40 Photuris, Security failures
41 实验性的 ICMP for experimental mobility protocols such as Seamoby [RFC4065]
42 到 255 保留 保留
235 实验性的 RFC3692( RFC 4727
254 实验性的 RFC3692( RFC 4727
255 保留 保留

一些ICMP的基础功能

Icmp重定向(默认开启)

icmp差错检测

icmp错误报告

参考

互联网控制消息协议 - 维基百科,自由的百科全书 (wikipedia.org)