- 引言:
- ICMP负责传递可能需要主义的差错和控制报文
- 鉴于ICMP能够影响重要的系统功能操作和获取配置信息,黑客们已经在大量攻击中使用ICMP报文,由于担心这种攻击,网络管理员经常会用防火墙封阻ICMP报文,会导致大量的诊断程序将无法正常工作
- ICMPv6不仅可以用于错误报告,还可以用于邻居发现ND,与ARP有相同的作用,还能配置主机和管理组播地址的路由器发现RD功能
- 在IPv4和IPv6内的封装
- IPv4
- | IPv4头部 | ICMP头部 | ICMP数据 |
- IPv6
- IPv4
-
-
- | IPv6头部 | IPv6扩展头部(下一个头部ICMP头部:58) | ICMP头部 | ICMP数据 |
- ICMP头部结构
- | 类型 | 代码 | 校验和 |
- | 依赖于类型和代码(可变) |
- 所有的ICMp头部的前4个字节结构是相同的(类型,代码,校验和),其余部分根据报文类型和代码不同有着不同的结构
-
- ICMP报文
- ICMP报文分为差错报文,查询报文和信息报文
- ICMPv4报文
类型 |
代码 |
正式名称 |
用途注释 |
0 |
0 |
回显应答 |
回显应答,返回数据 |
3 |
1 |
主机不可达 |
已知但不可达的主机 |
3 |
3 |
端口不可达 |
未知的/不用的端口 |
3 |
4 |
需要进行分片但设置了不分片位 |
需要设置分片但被DF禁止了 |
5 |
1 |
主机重定向数据报 |
指示了一个可选的路由器 |
8 |
0 |
回显 |
回显请求 |
11 |
0 |
在传输期间生存时间超时 |