百科解釋
英文原義:Internet Control Message Protocol 中文釋義:(RFC-792)Internet控制消息協(xié)議 注解:該協(xié)議是TCP/IP協(xié)議集中的一個(gè)子協(xié)議,屬于網(wǎng)絡(luò)層協(xié)議,主要用于在主機(jī)與路由器之間傳遞控制信息,包括報(bào)告錯(cuò)誤、交換受限控制和狀態(tài)信息等。當(dāng)遇到IP數(shù)據(jù)無(wú)法訪問目標(biāo)、IP路由器無(wú)法按當(dāng)前的傳輸速率轉(zhuǎn)發(fā)數(shù)據(jù)包等情況時(shí),會(huì)自動(dòng)發(fā)送ICMP消息。我們可以通過Ping命令發(fā)送ICMP回應(yīng)請(qǐng)求消息并記錄收到ICMP回應(yīng)回復(fù)消息,通過這些消息來對(duì)網(wǎng)絡(luò)或主機(jī)的故障提供參考依據(jù)。 應(yīng) 用:要使用該協(xié)議,我們可以進(jìn)行相應(yīng)的ICMP設(shè)置,比如在Windows XP中,首先打開“網(wǎng)絡(luò)連接”,右鍵單擊啟用Internet連接防火墻的“網(wǎng)絡(luò)連接”,選擇“屬性”打開屬性窗口。接著,選擇“高級(jí)”選項(xiàng)卡,單擊右下角“設(shè)置”按鈕。然后,在高級(jí)設(shè)置窗口中選擇“ICMP”選項(xiàng)卡,在其中就可以進(jìn)行相應(yīng)的設(shè)置,包括允許傳入的回顯請(qǐng)求等。 ICMP是“Internet Control Message Protocol”(Internet控制消息協(xié)議)的縮寫。它是TCP/IP協(xié)議族的一個(gè)子協(xié)議,用于在IP主機(jī)、路由器之間傳遞控制消息。控制消息是指網(wǎng)絡(luò)通不通、主機(jī)是否可達(dá)、路由是否可用等網(wǎng)絡(luò)本身的消息。這些控制消息雖然并不傳輸用戶數(shù)據(jù),但是對(duì)于用戶數(shù)據(jù)的傳遞起著重要的作用。 我們?cè)诰W(wǎng)絡(luò)中經(jīng)常會(huì)使用到ICMP協(xié)議,只不過我們覺察不到而已。比如我們經(jīng)常使用的用于檢查網(wǎng)絡(luò)通不通的Ping命令,這個(gè)“Ping”的過程實(shí)際上就是ICMP協(xié)議工作的過程。還有其他的網(wǎng)絡(luò)命令如跟蹤路由的Tracert命令也是基于ICMP協(xié)議的。 ICMP的重要性 ICMP協(xié)議對(duì)于網(wǎng)絡(luò)安全具有極其重要的意義。ICMP協(xié)議本身的特點(diǎn)決定了它非常容易被用于攻擊網(wǎng)絡(luò)上的路由器和主機(jī). 例如,在1999年8月海信集團(tuán)“懸賞”50萬(wàn)元人民幣測(cè)試防火墻的過程中,其防火墻遭受到的ICMP攻擊達(dá)334050次之多,占整個(gè)攻擊總數(shù)的90%以上!可見,ICMP的重要性絕不可以忽視! 比如,可以利用操作系統(tǒng)規(guī)定的ICMP數(shù)據(jù)包最大尺寸不超過64KB這一規(guī)定,向主機(jī)發(fā)起“Ping of Death”(死亡之Ping)攻擊!癙ing of Death” 攻擊的原理是:如果ICMP數(shù)據(jù)包的尺寸超過64KB上限時(shí),主機(jī)就會(huì)出現(xiàn)內(nèi)存分配錯(cuò)誤,導(dǎo)致TCP/IP堆棧崩潰,致使主機(jī)死機(jī)。 此外,向目標(biāo)主機(jī)長(zhǎng)時(shí)間、連續(xù)、大量地發(fā)送ICMP數(shù)據(jù)包,也會(huì)最終使系統(tǒng)癱瘓。大量的ICMP數(shù)據(jù)包會(huì)形成“ICMP風(fēng)暴”,使得目標(biāo)主機(jī)耗費(fèi)大量的CPU資源處理,疲于奔命。 應(yīng)對(duì)ICMP攻擊 雖然ICMP協(xié)議給黑客以可乘之機(jī),但是ICMP攻擊也并非無(wú)藥可醫(yī)。只要在日常網(wǎng)絡(luò)管理中未雨綢繆,提前做好準(zhǔn)備,就可以有效地避免ICMP攻擊造成的損失。 對(duì)于“Ping of Death”攻擊,可以采取兩種方法進(jìn)行防范:第一種方法是在路由器上對(duì)ICMP數(shù)據(jù)包進(jìn)行帶寬限制,將ICMP占用的帶寬控制在一定的范圍內(nèi),這樣即使有ICMP攻擊,它所占用的帶寬也是非常有限的,對(duì)整個(gè)網(wǎng)絡(luò)的影響非常少;第二種方法就是在主機(jī)上設(shè)置ICMP數(shù)據(jù)包的處理規(guī)則,最好是設(shè)定拒絕所有的ICMP數(shù)據(jù)包。 設(shè)置ICMP數(shù)據(jù)包處理規(guī)則的方法也有兩種,一種是在操作系統(tǒng)上設(shè)置包過濾,另一種是在主機(jī)上安裝防火墻。 Vista系統(tǒng)常用英文專業(yè)詞語(yǔ) ICMP,互聯(lián)網(wǎng)控制信息協(xié)議(Internet CONTROL Message Protocol),用于錯(cuò)誤報(bào)告和調(diào)試。ICMP回應(yīng)請(qǐng)求,并回應(yīng)流行的Ping命令所使用的回復(fù)信息。 ICMP報(bào)文格式 ICMP報(bào)文包含在IP數(shù)據(jù)報(bào)中,屬于IP的一個(gè)用戶,IP頭部就在ICMP報(bào)文的前面,所以一個(gè)ICMP報(bào)文包括IP頭部、ICMP頭部和ICMP報(bào)文(見圖表,ICMP報(bào)文的結(jié)構(gòu)和幾種常見的ICMP報(bào)文格式),IP頭部的Protocol值為1就說明這是一個(gè)ICMP報(bào)文,ICMP頭部中的類型(Type)域用于說明ICMP報(bào)文的作用及格式,此外還有一個(gè)代碼(Code)域用于詳細(xì)說明某種ICMP報(bào)文的類型,所有數(shù)據(jù)都在ICMP頭部后面。RFC定義了13種ICMP報(bào)文格式,具體如下: 類型代碼 類型描述 0 響應(yīng)應(yīng)答(ECHO-REPLY) 3 不可到達(dá) 4 源抑制 5 重定向 8 響應(yīng)請(qǐng)求(ECHO-REQUEST) 11 超時(shí) 12 參數(shù)失靈 13 時(shí)間戳請(qǐng)求 14 時(shí)間戳應(yīng)答 15 信息請(qǐng)求(*已作廢) 16 信息應(yīng)答(*已作廢) 17 地址掩碼請(qǐng)求 18 地址掩碼應(yīng)答 其中代碼為15、16的信息報(bào)文已經(jīng)作廢。 下面是幾種常見的ICMP報(bào)文: 1.響應(yīng)請(qǐng)求 我們?nèi)粘J褂米疃嗟膒ing,就是響應(yīng)請(qǐng)求(Type=8)和應(yīng)答(Type=0),一臺(tái)主機(jī)向一個(gè)節(jié)點(diǎn)發(fā)送一個(gè)Type=8的ICMP報(bào)文,如果途中沒有異常(例如被路由器丟棄、目標(biāo)不回應(yīng)ICMP或傳輸失敗),則目標(biāo)返回Type=0的ICMP報(bào)文,說明這臺(tái)主機(jī)存在,更詳細(xì)的tracert通過計(jì)算ICMP報(bào)文通過的節(jié)點(diǎn)來確定主機(jī)與目標(biāo)之間的網(wǎng)絡(luò)距離。 2.目標(biāo)不可到達(dá)、源抑制和超時(shí)報(bào)文 這三種報(bào)文的格式是一樣的,目標(biāo)不可到達(dá)報(bào)文(Type=3)在路由器或主機(jī)不能傳遞數(shù)據(jù)報(bào)時(shí)使用,例如我們要連接對(duì)方一個(gè)不存在的系統(tǒng)端口(端口號(hào)小于1024)時(shí),將返回Type=3、Code=3的ICMP報(bào)文,它要告訴我們:“嘿,別連接了,我不在家的!”,常見的不可到達(dá)類型還有網(wǎng)絡(luò)不可到達(dá)(Code=0)、主機(jī)不可到達(dá)(Code=1)、協(xié)議不可到達(dá)(Code=2)等。源抑制則充當(dāng)一個(gè)控制流量的角色,它通知主機(jī)減少數(shù)據(jù)報(bào)流量,由于ICMP沒有恢復(fù)傳輸?shù)膱?bào)文,所以只要停止該報(bào)文,主機(jī)就會(huì)逐漸恢復(fù)傳輸速率。最后,無(wú)連接方式網(wǎng)絡(luò)的問題就是數(shù)據(jù)報(bào)會(huì)丟失,或者長(zhǎng)時(shí)間在網(wǎng)絡(luò)游蕩而找不到目標(biāo),或者擁塞導(dǎo)致主機(jī)在規(guī)定時(shí)間內(nèi)無(wú)法重組數(shù)據(jù)報(bào)分段,這時(shí)就要觸發(fā)ICMP超時(shí)報(bào)文的產(chǎn)生。超時(shí)報(bào)文的代碼域有兩種取值:Code=0表示傳輸超時(shí),Code=1表示重組分段超時(shí)。 3.時(shí)間戳 時(shí)間戳請(qǐng)求報(bào)文(Type=13)和時(shí)間戳應(yīng)答報(bào)文(Type=14)用于測(cè)試兩臺(tái)主機(jī)之間數(shù)據(jù)報(bào)來回一次的傳輸時(shí)間。傳輸時(shí),主機(jī)填充原始時(shí)間戳,接收方收到請(qǐng)求后填充接收時(shí)間戳后以Type=14的報(bào)文格式返回,發(fā)送方計(jì)算這個(gè)時(shí)間差。一些系統(tǒng)不響應(yīng)這種報(bào)文。
移動(dòng)通信網(wǎng) | 通信人才網(wǎng) | 更新日志 | 團(tuán)隊(duì)博客 | 免責(zé)聲明 | 關(guān)于詞典 | 幫助