死亡之ping(Ping of Death)

摘要:
最简单的基于IP的攻击可能是著名的ping of death。这种攻击主要是因为单个数据包的长度超过了IP协议规范中指定的数据包长度。打开Windows操作系统的DOS窗口,输入ping-l65500目标ip-t以实现此目标。首先,由于以太网的长度有限,IP数据包片段被分割。IP数据包的最大大小在IP协议规范中指定,大多数数据包处理程序假定数据包的长度超过了最大大小,这不会发生。防止死ping的最佳方法是修补操作系统,这样内核就不会再重新组织超过指定长度的包。
最简单的基于IP的攻击可能要数著名的死亡之ping,这种攻击主要是由于单个包的长度超过了IP协议规范所规定的包长度。产生这样的包很容易,事实上,许多操作系统都提供了称为ping的网络工具。在为Windows操作系统中开一个DOS窗口,输入ping -l 65500 目标ip -t (65500 表示数据长度上限,-t 表示不停地ping目标地址)就可达到该目的。UNIX系统也有类似情况。

工作原理

死亡之ping是如何工作的呢?首先是因为以太网长度有限,IP包片段被分片。当一个IP包的长度超过以太网帧的最大尺寸(以太网头部和尾部除外)时,包就会被分片,作为多个帧来发送。接收端的机器提取各个分片,并重组为一个完整的IP包。在正常情况下,IP头包含整个IP包的长度。当一个IP包被分片以后,头只包含各个分片的长度。分片并不包含整个IP包的长度信息,因此IP包一旦被分片,重组后的整个IP包的总长度只有在所在分片都接受完毕之后才能确定。
在IP协议规范中规定了一个IP包的最大尺寸,而大多数的包处理程序又假设包的长度超过这个最大尺寸这种情况是不会出现的。因此,包的重组代码所分配的内存区域也最大不超过这个最大尺寸。这样,超大的包一旦出现,包当中的额外数据就会被写入其他正常区域。这很容易导致系统进入非稳定状态,是一种典型的缓存溢出(Buffer Overflow)攻击。在防火墙一级对这种攻击进行检测是相当难的,因为每个分片包看起来都很正常。
由于使用ping工具很容易完成这种攻击,以至于它也成了这种攻击的首选武器,这也是这种攻击名字的由来。当然,还有很多程序都可以做到这一点,因此仅仅阻塞ping的使用并不能完全解决这个漏洞。预防死亡之ping的最好方法是对操作系统打补丁,使内核将不再对超过规定长度的包进行重组。
ps:源自百度

免责声明:文章转载自《死亡之ping(Ping of Death)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇ISE14.7兼容性问题集锦elasticsearch中的java.io.IOException: 远程主机强迫关闭了一个现有的连接下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

PING 地址收集

什么是ping服务   ping服务主要用于Blog更新通知使用,可以将Blog更新的消息快速通知给搜索引擎或者其他第三方工具,以便于他们索引收录Blog的内容。简单来说,当发布一篇日志的时候,就会通知搜索引擎,告诉搜索引擎已经有了更新。   Ping服务有什么好处?   使搜索引擎能更快,更全面地收录你的内容。搜索引擎在收到Ping请求后会在最短时间内对...

宿主机( win 7 系统) ping 虚拟机VMware( cent os 6.6 ) 出现“请求超时”或者“无法访问目标主机”的解决方法

首先虚拟机的网络连接设置为"Host-only": 然后在 cmd 窗口中查看 VMnet1 的 ip 地址,这里是 192.168.254.1 接下来在 Linux 中设置网卡地址,和 VMnet1 一个网段,这里设置的是 192.168.254.100 然而此时在 cmd 窗口 ping 刚才设置的虚拟机网卡地址时却出现: === 解决的方法是...

命令执行漏洞攻击&修复建议

应用程序有时需要调用一些执行系统命令的函数,如在PHP中,使用system、exec、shell_exec、passthru、popen、proc_popen等函数可以执行系统命令。当黑客能控制这些函数中的参数时,就可以将恶意的系统命令拼接到正常命令中,从而造成命令执行攻击,这就是命令执行漏洞。 命令执行攻击过程 页面1.php提供了ping的功能,当给参...

Windows10与虚拟机中CentOS-7.2进行ftp通信

首先Linux的IP地址可以通过以下命令获取: ifconfig Windows10上面IP地址通过下面命令获取 ipconfig 你首先要保证你的主机和Linux虚拟机是可以ping通的(ping都没ping通,其他操作就进行不了) windows10如下: Linux的(ping命令后面哪个-c5表示发送五次数据包): 有些人可能windows...

[linux]Ubuntu无法ping通自设网卡的一个解决办法

上周五实验课上,老师要求我们给自己的虚拟机添加新网卡,主机虚拟网络地址为192.168.56.1,DHCP的地址范围是192.168.56.101到192.168.56.254. 之后在Ubuntu下输入ping 192.168.56.1  结果100%loss 我又试着去ping 192.168.56.101 没有问题。 在cmd中ping这两个地址都没...

Linux配置浮动IP实现WEB高可用

在高可用集群环境中,一般都需要使用浮动IP来实现web高可用(High Availability)。 浮动IP的概念以及为什么需要浮动IP请参考:浮动IP(FLOAT IP) 本篇文章主要讲实际操作步骤: 可以是双机,也可以是多机,主服务器为172.24.8.55,浮动IP设置为172.24.8.80。 一、配置浮动IP: 利用单个网卡可以绑定多个IP地址...