那曲市网站建设_网站建设公司_页面权重_seo优化
2026/1/8 9:40:51 网站建设 项目流程

🎬 HoRain云小助手:个人主页

🔥 个人专栏: 《Linux 系列教程》《c语言教程》

⛺️生活的理想,就是为了理想的生活!


⛳️ 推荐

前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。

专栏介绍

专栏名称

专栏介绍

《C语言》

本专栏主要撰写C干货内容和编程技巧,让大家从底层了解C,把更多的知识由抽象到简单通俗易懂。

《网络协议》

本专栏主要是注重从底层来给大家一步步剖析网络协议的奥秘,一起解密网络协议在运行中协议的基本运行机制!

《docker容器精解篇》

全面深入解析 docker 容器,从基础到进阶,涵盖原理、操作、实践案例,助您精通 docker。

《linux系列》

本专栏主要撰写Linux干货内容,从基础到进阶,知识由抽象到简单通俗易懂,帮你从新手小白到扫地僧。

《python 系列》

本专栏着重撰写Python相关的干货内容与编程技巧,助力大家从底层去认识Python,将更多复杂的知识由抽象转化为简单易懂的内容。

《试题库》

本专栏主要是发布一些考试和练习题库(涵盖软考、HCIE、HRCE、CCNA等)

目录

⛳️ 推荐

专栏介绍

ICMP协议详解

什么是ICMP?

ICMP的主要作用

ICMP的工作原理

ICMP典型应用

ICMP报文格式

常见ICMP消息类型

ICMP的安全问题

ICMP安全防御措施

基础防御措施

高级防御措施

ICMP协议重要性

实际应用示例


ICMP协议详解

什么是ICMP?

ICMP(Internet Control Message Protocol),即因特网控制报文协议,是TCP/IP协议族的网络层协议,用于在IP主机与路由器之间传递控制信息。ICMP实际上是IP的一个组成部分,必须由每个IP模块实现,而不是一个更高级别的协议。

ICMP的主要作用

ICMP的工作原理

ICMP提供一致易懂的出错报告信息。发送的出错报文返回到发送原数据的设备,因为只有发送设备才是出错报文的逻辑接受者。发送设备随后可根据ICMP报文确定发生错误的类型,并确定如何才能更好地重发失败的数据包。

ICMP唯一的功能是报告问题而不是纠正错误,纠正错误的任务由发送方完成。

ICMP典型应用

  1. Ping命令:使用ICMP回显请求(Type=8)和回显应答(Type=0)报文

  2. Tracert/Traceroute命令:基于ICMP TTL超时报文

ICMP报文格式

ICMP报文包含在IP数据报中,一个ICMP报文包括:

ICMP头部包含:

常见ICMP消息类型

类型代码说明应用场景
00回显应答Ping命令响应
80回显请求Ping命令请求
30网络不可到达目标网络不可达
31主机不可到达目标主机不可达
33端口不可到达目标端口不可达
40源抑制流量控制,要求发送方减缓发送速率
110TTL超时Traceroute命令
120参数问题IP报文参数错误

ICMP的安全问题

  1. ICMP Flood攻击:攻击者短时间内向目标设备发送大量ICMP请求报文,使目标设备忙于回复,造成系统负担过重

  2. Ping of Death(死亡之Ping):发送超过64KB的ICMP数据包,导致目标系统内存分配错误,崩溃

  3. ICMP Redirect攻击:伪造ICMP重定向报文,修改路由表,导致数据被重定向到攻击者控制的路径

  4. ICMP Time Exceeded攻击:利用TTL超时报文进行网络探测

ICMP安全防御措施

基础防御措施

  1. 配置ICMP泛洪攻击防范

    system-view anti-attack icmp-flood enable anti-attack icmp-flood car cir 155000000 # 限制ICMP报文接收速率
  2. 去使能不必要的ICMP报文接收

    undo icmp all receive # 不接收任何ICMP报文 undo icmp name host-unreachable receive # 不接收主机不可达报文
  3. 限制ICMP报文类型

    undo icmp type 3 code 1 receive # 不接收目标不可到达类型3代码1的报文

高级防御措施

  1. 防火墙过滤:设置防火墙规则,只允许必要的ICMP报文通过,阻止恶意ICMP报文

  2. IDS/IPS部署:部署入侵检测系统或入侵预防系统,监控网络中的ICMP流量

  3. 配置ICMP属性(华为设备示例):

  4. 修改系统配置:限制ICMP数据包最大尺寸,防范Ping of Death攻击

ICMP协议重要性

ICMP是网络通信中不可或缺的协议,它对于网络安全具有极其重要的意义。在1999年8月海信集团"悬赏"50万元人民币测试防火墙的过程中,其防火墙遭受到的ICMP攻击达334050次之多,占整个攻击总数的90%以上!这充分说明了ICMP协议在网络安全中的重要地位。

实际应用示例

Ping命令示例

<DeviceA> ping 1.1.2.2 Ping 1.1.2.2 (1.1.2.2): 56 data bytes, press CTRL_C to break 56 bytes from 1.1.2.2: icmp_seq=0 ttl=254 time=2.137 ms 56 bytes from 1.1.2.2: icmp_seq=1 ttl=254 time=2.051 ms ...

Tracert命令原理

  1. 源端发送TTL=1的IP数据包
  2. 第一跳设备返回TTL超时ICMP报文
  3. 源端发送TTL=2的IP数据包
  4. 第二跳设备返回TTL超时ICMP报文
  5. 重复以上过程,直到到达目的端,返回端口不可达报文

通过ICMP协议,网络管理员可以有效地诊断网络问题,确保网络的正常运行。

❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询