首页 > 其他分享 >ICMP协议的作用,Ping of Death攻击的原理是什么?

ICMP协议的作用,Ping of Death攻击的原理是什么?

时间:2023-08-05 15:34:09浏览次数:38  
标签:协议 Death Ping ping 防火墙 主机 ICMP 数据包

ICMP是“Internet Control Message Protocol”(Internet控制消息协议)的缩写。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。


在网络中经常会使用到ICMP协议,只不过察觉不到而已。比如经常使用的用于检查网络通不通的Ping命令,这个“ping”的过程实际上就是ICMP协议工作的过程。还有其他的网络命令,如跟踪路由的Tracert命令也是基于ICMP协议的。


ICMP协议对于网络安全具有极其重要的意义。ICMP协议本身的特点决定了它非常容易被用于攻击网络上的路由器和主机。例如,在1999年8月某公司“悬赏”50万元测试防火墙的过程中,其防火墙遭受到ICMP攻击达334050次之多,占整个攻击总数的90%以上。可见ICMP的重要性绝不可以忽视。

ICMP协议的作用,Ping of Death攻击的原理是什么?_安全策略

比如,可以利用操作系统规定的ICMP数据包最大尺寸不超过64KB这一规定,向主机发起“Ping of Death”(死亡之Ping)攻击。“Ping of Death”攻击的原理是:如果ICMP数据包的尺寸超过64KB上限时,主机就会出现内存分配错误,导致TCP/IP堆栈崩溃,致使主机死机。

此外,向目标主机长时间、连续、大量地发送ICMP数据包,也会最终使系统瘫痪。大量的ICMP数据包会形成“ICMP风暴”,使得目标主机耗费大量的CPU资源处理,疲于死机。


ping.exe的原理是,向指定的IP地址发送一定长度的数据包,按照约定,若指定IP地址存在的话,会返回同样大小的数据包,当然,若在特定的时间内没有返回,就是“超时”,就认为指定的IP地址不存在。由于ping使用的是ICMP协议,有些防火墙软件会屏蔽ICMP协议所以有时候ping的结果只能做为参考,ping不通并不一定说明对方IP不存在。

ICMP协议的作用,Ping of Death攻击的原理是什么?_安全策略_02

ping命令是一个非常有用的网络命令,大家常用它来测试网络连通情况。但同时它也是一把双刃剑,别人使用ping命令能探测到你计算机上很多敏感的信息,造成不安全。为了安全,防止ping的方法很多,比如防火墙,又比如创建一个禁止所有计算机ping本机IP地址的安全策略。


由于ping使用的是ICMP协议,有些防火墙软件会屏蔽掉ICMP协议。IPSec安全策略是如何“防ping”的?其原理是通过新建一个IPSec策略过滤本机所有的ICMP数据包。这样确实可以有效地“防ping”,但同时也会留下后遗症。因为ping命令和ICMP协议有着密切的关系。


在ICMP协议应用中包含有11种报文格式,其中ping命令就是利用ICMP协议中的“Echo Request”报文进行工作的。但IPSec安全策略防ping时采用格杀勿论的方法,把所有的ICMP报文全部过滤了,特别是很所有用的其他格式的报文也同时被过滤了。因此在某些特殊应用的局域网环境中,容易出现数据包丢失现象,影响用户正常办公。因此建议使用防火墙。

感谢您的阅读,若是想要了解更多服务器技术干货,关注我主页更精彩

标签:协议,Death,Ping,ping,防火墙,主机,ICMP,数据包
From: https://blog.51cto.com/u_16178818/6975787

相关文章

  • CF1588 FJumping Through the Array
    CF1588FJumpingThroughtheArray题意你有个长度为\(n\)的数组\(a\)和一个长度为\(n\)的排列\(p\),对于每一个\(i\)有一有向边\((i,p_i)\)。有如下三种操作:1lr询问\(\sum_{i=l}^ra_i\)。2vx将所有\(v\)能到达的节点所对应编号的值加\(x\)。3x......
  • Spring源码分析(五) MappingJackson2HttpMessageConverter
    大家用过springmvc的肯定都用过@RequestBody和@ResponseBody注解吧,你了解这个的原理吗?这篇文章我们就来说下它是怎么实现json转换的。首先来看一个类RequestResponseBodyMethodProcessor,这个类继承了AbstractMessageConverterMethodProcessor,我们来看看这个类的构造方法protec......
  • spring-mvc系列:详解@RequestMapping注解(value、method、params、header等)
    目录一、@RequestMapping注解的功能二、@RequestMapping注解的位置三、@RequestMapping注解的value属性四、@RequestMapping注解的method属性五、@RequestMapping注解的params属性六、@RequestMapping注解的header属性七、SpringMVC支持ant分格的路径八、SpringMVC支持路径中的占......
  • 关闭防火墙,主机与虚拟机VMnet8在同一网段,主机无法ping通虚拟机问题解决
    因需要进行oss数据迁移至eos,需要liunx环境,于是在本机上使用虚拟机安装了centos7,安装后ifconfig查看虚拟机ip,网络模式是NAT然后ping主机以及百度网,均可ping通,说明虚拟机网络正常  但是使用xshell后,一直无法连接,主机ping虚拟机,请求超时,以为是虚拟机防火墙问题,关闭虚拟机防火......
  • 记录一次电脑可以ping但是无法上网的情况
       电脑可以ping通,但是无法上网。  防火墙关闭,ip重新设置。无效 netshwinsockreset设置,重启机器,无效。 各种方法都式了,都是可以ping通,无法上网。 突然想看看ie配置,因为ie经常代理的设置。出现本地代理的选项,且被选中,去掉勾,成功访问网页。......
  • MappingJackson2HttpMessageConverter数据处理
    主键用的雪花算法,值域超过了js的范围……后端返回的日期字段总不是我想要的格式……空值的字段就不要返回了,省点流量吧……试试换成自己的MappingJackson2HttpMessageConverter呗Talkischeap,showyouthecode!importcom.fasterxml.jackson.annotation.JsonInclude;importco......
  • 多进程秒ping内网主机
    之前要写个探测内网主机存活的bash脚本,一直没写明白,写完文件监控之后突然就写明白了代码:#!/bin/bash#定义要扫描的IP地址范围subnet="192.168.$1."start_ip=1end_ip=254#创建一个空临时文件来保存扫描结果tmp_file=$(mktemp)#循环遍历IP地址范围,并将ping命令放......
  • CTFer成长记录——CTF之Web专题·攻防世界—unseping
    一、题目链接  https://adworld.xctf.org.cn/challenges/list二、解法步骤  本题主要是代码审计和反序列化;代码审计:首先我们需要知道整个题的基本执行顺序:post传参——>base64编码——>反序列化——>调用__wakeup()魔术方法——>执行waf()方法过滤——>调用析构方法()。......
  • fping
    fpingfping检测主机是否存在补充说明fping命令fping类似于ping,但比ping强大。与ping要等待某一主机连接超时或发回反馈信息不同,fping给一个主机发送完数据包后,马上给下一个主机发送数据包,实现多主机同时ping,fping还可以在命令行中指定要ping的主机数量范围。语法fping(选项)......
  • rdma-core之rping.c
    头部信息#define_GNU_SOURCE#include<endian.h>#include<getopt.h>#include<stdlib.h>#include<string.h>#include<stdio.h>#include<errno.h>#include<sys/types.h>#include<sys/socket.h>#include<netdb......