ICMP協議的概念解析
ICMP協議的工作,大家是否了解了呢?很多朋友對于這部分知識,一直不能掌握。那么對于網絡協議,我們今天介紹的是ICMP協議。什么是ICMP協議呢?下面我們就來簡單解析一下。
ICMP是“Internet Control Message Protocol”(Internet控制消息協議)的縮寫。它是TCP/IP協議族的一個子協議,用于在IP主機、路由器之間傳遞控制消息??刂葡⑹侵妇W絡通不通、主機是否可達、路由是否可用等網絡本身的消息。這些控制消息雖然并不傳輸用戶數據,但是對于用戶數據的傳遞起著重要的作用。
我們在網絡中經常會使用到ICMP協議,只不過我們覺察不到而已。比如我們經常使用的用于檢查網絡通不通的Ping命令,這個“Ping”的過程實際上就是ICMP協議工作的過程。還有其他的網絡命令如跟蹤路由的Tracert命令也是基于ICMP協議的。
ICMP的重要性
ICMP/ICMPv6:Internet控制信息協議(Internet Control Message Protocol)
Internet 控制信息協議(ICMP)是 IP 組的一個整合部分。通過 IP 包傳送的 ICMP 信息主要用于涉及網絡操作或錯誤操作的不可達信息。ICMP 包發送是不可靠的,所以主機不能依靠接收 ICMP 包解決任何網絡問題。
ICMP協議對于網絡安全具有極其重要的意義。ICMP協議本身的特點決定了它非常容易被用于攻擊網絡上的路由器和主機。例如,在1999年8月海信集團“懸賞”50萬元人民幣測試防火墻的過程中,其防火墻遭受到的ICMP攻擊達334050次之多,占整個攻擊總數的90%以上!可見,ICMP的重要性絕不可以忽視!
比如,可以利用操作系統規定的ICMP數據包最大尺寸不超過64KB這一規定,向主機發起“Ping of Death”(死亡之Ping)攻擊。“Ping of Death” 攻擊的原理是:如果ICMP數據包的尺寸超過64KB上限時,主機就會出現內存分配錯誤,導致TCP/IP堆棧崩潰,致使主機死機。
此外,向目標主機長時間、連續、大量地發送ICMP數據包,也會最終使系統癱瘓。大量的ICMP數據包會形成“ICMP風暴”,使得目標主機耗費大量的CPU資源處理,疲于奔命。
應對ICMP攻擊
雖然ICMP協議給黑客以可乘之機,但是ICMP攻擊也并非無藥可醫。只要在日常網絡管理中未雨綢繆,提前做好準備,就可以有效地避免ICMP攻擊造成的損失。
對于“Ping of Death”攻擊,可以采取兩種方法進行防范:第一種方法是在路由器上對ICMP數據包進行帶寬限制,將ICMP占用的帶寬控制在一定的范圍內,這樣即使有ICMP攻擊,它所占用的帶寬也是非常有限的,對整個網絡的影響非常少;第二種方法就是在主機上設置ICMP數據包的處理規則,最好是設定拒絕所有的ICMP數據包。