引言:
最近鼓捣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报文的格式和种类 包括了各种的详细信息关于icmp的
ICMP TYPE CODE 对应表.docx
ICMP Ping实现-封装并发送ICMP报文ICMP Ping实现-封装并发送ICMP报文ICMP Ping实现-封装并发送ICMP报文ICMP Ping实现-封装并发送ICMP报文ICMP Ping实现-封装并发送ICMP报文ICMP Ping实现-封装并发送ICMP报文ICMP ...
显示如何利用Java进行ICMP网络报文的收发,启发如何利用Java进行网络底层协议的开发。
典型的ICMP报文简单介绍以供大家学习参考
icmp报文类型,详细介绍icmp报文的原理类型
icmp,ICMP报文的格式和种类.pdf
icmp协议的type和code类型对应,适合基础新手学习。
转载一个ping程序的源码 (学习ICMP报文用)
了解 ICMP 数据包的格式 使用 Packet Tracer 捕获并研究 ICMP 报文
ICMP报文数据包分析.pdf
C语言实现基于wpcap的IP,TCP,UDP,ICMP报文发送,及各协议校验和计算
ICMP 因特网控制报文协议ICMP 因特网控制报文协议
ICMP协议报文格式和协议解析
UDP端口扫描程序,发送UDP报头会返回ICMP错误报文。
计算机网络 第5章网际控制报文协议ICMP PPT
计算机网络实验4 - 网际控制报文协议 ICMP 分析
( icmp-ip 重定向.rar ) ICMP redirect 关闭: 接口下:no ip rediect 连接路由器都开启了重定向功能,HOST A的...ip重定向和icmp重定向的关系:ip重定向的功能是通过发送icmp重定向的报文给pc来达到ip重定向的功能
ICMP重定向报文.pptx
一个对ICMP时间戳请求报文发送的实现。网上大部分是linux的代码,CPP的很少,这里上传一个CPP的