複製鏈接
請複製以下鏈接發送給好友

死亡之Ping

鎖定
最簡單的基於IP的攻擊可能要數著名的死亡之ping,這種攻擊主要是由於單個包的長度超過了IP協議規範所規定的包長度。產生這樣的包很容易,事實上,許多操作系統都提供了稱為ping的網絡工具。在為Windows操作系統中開一個DOS窗口,輸入ping -l 65500 目標ip -t (65500 表示數據長度上限,-t 表示不停地ping目標地址)就可達到該目的。UNIX系統也有類似情況。
通俗來説,就是對方IP內存溢出,達到使對方系統崩潰的效果。
中文名
死亡之Ping
外文名
Ping of death
類    型
基於IP的DOS攻擊
系    統
Windows,UNIX,linux系統等

目錄

死亡之Ping工作

死亡之ping是如何工作的呢?首先是因為以太網長度有限,IP包片段被分片。當一個IP包的長度超過以太網幀的最大尺寸(以太網頭部和尾部除外)時,包就會被分片,作為多個幀來發送。接收端的機器提取各個分片,並重組為一個完整的IP包。在正常情況下,IP頭包含整個IP包的長度。當一個IP包被分片以後,頭只包含各個分片的長度。分片並不包含整個IP包的長度信息,因此IP包一旦被分片,重組後的整個IP包的總長度只有在所在分片都接受完畢之後才能確定。
IP協議規範中規定了一個IP包的最大尺寸,而大多數的包處理程序又假設包的長度超過這個最大尺寸這種情況是不會出現的。因此,包的重組代碼所分配的內存區域也最大不超過這個最大尺寸。這樣,超大的包一旦出現,包當中的額外數據就會被寫入其他正常區域。這很容易導致系統進入非穩定狀態,是一種典型的緩存溢出(Buffer Overflow)攻擊。在防火牆一級對這種攻擊進行檢測是相當難的,因為每個分片包看起來都很正常。
由於使用ping工具很容易完成這種攻擊,以至於它也成了這種攻擊的首選武器,這也是這種攻擊名字的由來。當然,還有很多程序都可以做到這一點,因此僅僅阻塞ping的使用並不能完全解決這個漏洞。預防死亡之ping的最好方法是對操作系統打補丁,使內核將不再對超過規定長度的包進行重組。 [1] 

死亡之Ping現象

這個問題出現在早期的Windows內,不過在接近Windows Me的時候已經見不到了。不僅已經ping不到65500以上,各大網站限制數據包傳入大小來防止有人用多台電腦同時ping一個ip導致癱瘓,一般大型網站把數據包壓到3000以下;而服務器或者dns一般把數據包壓到10000以下來防止這個問題,超過數值會提示連接超時。
*不要大數據ping自己的ip地址。
*不要亂ping網站網址
*不要ping自己的IP地址
參考資料
  • 1.    網絡安全原理與應用 中國電力出版社