[源主机] –(发送的IP数据包)–[路由器/目标主机] –(触发ICMP事件)–[源主机]
【计算机网络】ping命令底层ICMP协议详解:功能、实现原理与报文类型
ICMP 消息类型由8 位类型和代码字段唯一标识。以下是一些常见的ICMP 消息类型:
什么是ICMP协议?
回显请求和回显回复
输入0(回显回复)和8(回显请求)。用于ping 命令来测试连通性。 +—–+———-+———-+————+
| 代码: |
| : 型| : 型|
| 回声(请求)|
+—–+———-+———-+————-+
目的地无法到达
类型3,代码为网络不可达、主机不可达、端口不可达等。通常在路由器或中间设备无法到达目标主机时发生。 +—–+—————————-+———–+
| 代码: |
| : 型|
| 无法到达目的地| 代码: 1- |
+—–+—————————-+———–+
酱汁淬火
类型4。用于通知发送方降低发送速度,防止网络拥塞。 +—-+——————–+
| |
| 类型: 4 |
|源淬火|
+—-+——————–+
重定向
输入5。告诉主机使用不同的路径来传输数据包。 +—-+——————–+
| 代码表示|
| 型号: 5 |
| 使用的路线。
+—-+——————–+
超过时间
输入11。通常在数据包的生存时间(TTL) 字段达到零时生成并与Traceroute 命令一起使用。 +—+————————————+
| 表明TTL 已过期|
| : 型|
| 时间已经过去了|
+—+————————————+
参数问题
输入12。当IP 标头有错误字段时发生。 +—–+——————–+
| 字段无效。 |
| 缺少: 12 型。
| 参数问题|
+—–+——————–+
ICMP协议的功能
类型0: 回显答复类型3: 目标不可达类型4: 源抑制类型5: 重定向类型8: 回显请求类型11: 已超出时间类型12: 参数问题类型13: 时间戳请求类型14: 时间戳答复类型153336 0 信息请求类型1 6: 信息响应类型17: 地址掩码请求(地址掩码请求)类型18: 地址掩码响应(地址掩码响应)
ICMP协议实现原理
ICMP 消息结构由固定标头和可变长度数据部分组成。消息头的基本格式是:
工作机制
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- +-+-+-+-+-+-+-+
| 输入代码|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- +-+-+-+-+-+-+-+
| ICMP 可变数据部分(例如在回显请求中传输的数据)
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- +-+-+-+-+-+-+-+
类型:8 位字段,指示特定的ICMP 能力类型。代码:8 位字段,用于进一步细化类型信息。校验和:16 位字段,用于验证ICMP 消息的完整性和有效性。 ICMP可变数据部分:每种类型的ICMP消息都有不同的数据格式,包括目标数据,例如回显请求中的数据。
数据流示意图
ICMP协议报文类型
Ping 是ICMP 协议的一个著名应用,用于测试主机之间的连通性。其工作原理是发送ICMP回显请求报文(echo request)并等待ICMP回显应答报文(echoreply)。
pingexample.com
常见报文类型
Traceroute 是另一种广泛使用的ICMP 工具,主要用于发现网络中数据包的路径。其工作原理是在TTL(Time to Live)到期之前按顺序发送数据包,并记录每个错误(超时)的ICMP响应。
跟踪路由示例.com
完整ICMP报文类型列表
hping 是一个网络工具,允许您发送自定义的ICMP、TCP 和UDP 数据包并分析响应消息。适用于网络诊断、检测、攻击模拟。
hping3 -1 example.com
ICMP报文结构
尽管ICMP 在网络中发挥着重要作用,但滥用ICMP 也会造成安全问题。常见的安全风险包括:
ICMP头部格式
攻击者可以向目标系统发送大量ICMP 回显请求,使目标系统过载,并可能执行拒绝服务(DoS) 攻击。
常见ICMP工具
攻击者可以通过ICMP 重定向消息说服目标主机通过不安全的路由发送数据,从而执行中间人攻击。
ping
攻击者可以利用ICMP请求探索网络结构和主机信息,为进一步的攻击做好准备。
traceroute
为了防止潜在威胁,请配置防火墙以限制ICMP 流量,并特别限制或禁止ICMP 重定向和源抑制消息。使用入侵检测系统(IDS) 和入侵防御系统(IPS) 监视和分析ICMP 流量以检测异常行为。
hping
ICMP 协议是网络通信的重要组成部分,用于网络诊断、错误报告和流量控制。清楚地了解ICMP 功能、实现原理和消息类型将帮助您更好地管理和保护网络。同时,您还应该关注ICMP协议可能带来的安全风险,并采取相应的防护措施,确保您的网络安全稳定。
我们希望您发现ICMP 的详细解释很有用。如果您有任何疑问或要求,请随时讨论。
# 【计算机网络】详细描述ping命令底层的ICMP协议:功能、实现原理、报文类型。来源网络仅供参考。相关信息请参见官方公告。
原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/91806.html