引言:
最近鼓捣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
|
|
移动注册回复
|
分享到:
相关推荐
ICMP TYPE CODE 对应表 ICMP(Internet Control Message Protocol)是一种无连接的协议,用于在 IP 网络中传输控制信息。ICMP 报文由Type(类型)和Code(代码)两部分组成,分别用于指定报文的类型和具体的错误...
为了确保回送请求报文和回送应答报文的一一对应关系,ICMP报文中包含了以下字段: - **类型(Type)**:标识ICMP报文的类型,如8表示Echo Request,0表示Echo Reply。 - **代码(Code)**:进一步细化类型字段的...
通过分析捕获的ICMP报文,可以观察到请求和响应的交互过程,以及对应的ICMP type(8)和code(0)。 3. **traceroute命令**:traceroute利用IP头中的TTL(Time To Live)字段追踪数据包从源到目的地的路径。在实验...
主函数`main`接收命令行参数,允许用户指定目标IP地址(DestIp),数据包大小(PacketSize,默认为32字节),ICMP报文类型(type,默认为8,即回显请求echo request,对应ping命令),以及ICMP报文的代码(code,...
2. **生成ICMP报文**:路由器创建一个ICMP重定向报文,其中包含建议的新路由信息。 3. **发送报文**:路由器将这个ICMP报文发送回源主机。 4. **接收与响应**:源主机接收到ICMP重定向报文后,更新其路由表,将...
程序需要解析接收到的ICMP报文类型和代码,根据超时或目标不可达的情况,收集沿途路由器的IP地址。 6. 面临的挑战: - 网络安全策略:有些网络可能会阻止ICMP报文,导致tracert无法完成。 - 路由器配置:某些...
在ICMP通信中,不同类型的ICMP报文(Type)和代码(Code)组合用于报告各种网络连接状态和问题。类型8的ICMP报文称为“Echo Request”,通常被我们熟知的“ping”命令使用。当你执行ping命令向目标主机发送数据包时...
ICMP请求报文中包括Type字段、Code字段、Checksum字段和Identifier字段等。ICMP应答报文中包括Type字段、Code字段、Checksum字段和Identifier字段等。 3. arp缓存的作用 在实验报告中,我们可以看到arp缓存的作用...
- ICMP报文在IP数据报内部传输,报文中包括类型(type)、代码(code)和校验和(checksum)等字段。 - 根据描述,该程序关注了ICMP_ECHO(8)和ICMP_ECHO_REPLY(0)两种类型,这些对应于ping操作中的请求和应答报文。 ...
ICMP报文由头和数据两部分组成,头包含类型、代码、校验和等字段。在ping程序中,我们通常只关心类型为8(回显请求)和0(回显应答)的ICMP报文。 以下是C语言实现ping功能的一些关键代码片段: ```c #include #...
因此,ICMP报文在封装过程中并不包含端口号信息,而是直接被封装在网络层的IP数据报中进行传输。 #### 3. Ping请求报文解析 - **ICMP Type**:8,表示这是Echo请求(即Ping请求)。 - **ICMP Code**:0,表示这是一...
`source-addr`和`dest-addr`是源和目标IP地址,`source-mask`和`dest-mask`是对应的子网掩码,`operator`用于指定端口比较操作,`port1`和`port2`是端口号,`icmp-type`和`icmp-code`用于ICMP报文的控制,`log`选项...
1. **ICMP协议**: 你需要理解ICMP报文的结构,特别是回显请求(Type=8, Code=0)和回显应答(Type=0, Code=0)报文,以及如何在你的代码中创建和解析这些报文。 2. **套接字编程**: 在Python或其他语言中,使用低级...
- 分析ICMP请求和响应报文,对比type、code字段,理解其在网络故障排查中的应用。 - 观察ARP协议的帧结构,包括MAC和IP地址,以及广播地址的识别。 3. TCP三次握手: - 描述三次握手的详细流程,并结合Wireshark...
type host-unreachable`中的“10.1.10.10 0.0.255.255”指定了源地址范围为10.1.0.0/16,“destination any”表示目标地址为任意,“icmp-type host-unreachable”则指定了ICMP报文类型为主机不可达。因此,该命令的...
"ping"这个名字来源于声纳系统中的术语,它通过发送Internet控制消息协议(ICMP)回显请求报文并接收响应来检查网络的可达性。在Windows操作系统中,ping命令是一个内置的命令行实用程序,从Windows 98到Windows ...
ICMP超时报文的Type和Code字段分别是11和0。因此正确答案是**C.Type=11,Code=0**。 #### EPON中的VLAN操作模式 - **知识点**: EPON中的VLAN操作模式。 - **详细解释**: 如果家庭网关或交换机由运营商提供并进行...