引言:
最近鼓捣PCTools Firewall Plus 6防火墙。
看到有墙友说要开一条规则允许ICMP协议type=10, code=0的数据包。
好奇这种数据包是干什么的,就Google了一下ICMP报文type和code。E文不好,就摘录篇中文版的吧。
- ICMP是什么:
ICMP是“Internet Control Message Protocol”(Internet控制消息协议)的缩写。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。
我们在网络中经常会使用到ICMP协议,只不过我们觉察不到而已。比如我们经常使用的用于检查网络通不通的Ping命令,这个“Ping”的过程实际上就是ICMP协议工作的过程。还有其他的网络命令如跟踪路由的Tracert命令也是基于ICMP协议的。 - ICMP type 与 code一览:
类型 | 代码 | 名称 |
0 | 0 | 回应应答 |
3 | 目的地不可达 | |
0 | 网路不可达 | |
1 | 主机不可达 | |
2 | 协议不可达 | |
3 | 端口不可达 | |
4 | 需要分片和不需要分片标记置位 | |
5 | 源路由失败 | |
6 | 目的网络未知 | |
7 | 目的主机未知 | |
8 | 源主机被隔离 | |
9 | 与目的网络的通告被禁止 | |
10 | 目的主机的通信被禁止 | |
11 | 对请求的服务类型,目的网路不可达 | |
12 | 对请求的服务类型,目的主机不可达 | |
4 | 0 | 源抑制(Source Quench) |
5 | 重定向 | |
0 | 为网络(子网)重定向数据报 | |
1 | 为主机重定向数据报 | |
2 | 为网络和服务类型重定向数据报 | |
3 | 为主机和服务类型重定向数据报 | |
6 | 0 | 选择主机地址 |
8 | 0 | 回应(请求) |
9 | 0 | 路由器通告 |
10 | 0 | 路由器选择 |
11 | 超时 | |
0 | 传输中超出TTL | |
1 | 超出分片重组时间 | |
12 | 参数问题 | |
0 | 指定错误的指针 | |
1 | 缺少需要的选项 | |
2 | 错误长度 | |
13 | 0 | 时间戳 |
14 | 0 | 时间戳回复 |
15 | 0 | 信息请求(废弃) |
16 | 0 | 信息回复(废弃) |
17 | 0 | 地址掩码请求 |
18 | 0 | 地址掩码回复 |
30 | 跟踪路由 | |
31 | 数据报会话错误 | |
32 | 移动主机重定向 | |
33 | IPv6你在哪里 | |
34 | IPv6我在这里 | |
35 | 移动注册请求 | |
36 | 移动注册回复 |