icmp協(xié)議工作原理
ICMP協(xié)議的功能非常重要,在網(wǎng)絡(luò)協(xié)議的學(xué)習(xí)中,這部分知識(shí)也是我們講解的重點(diǎn)。那么對(duì)于ICMP協(xié)議的工作原理,以及工作流程具體是如何完成的呢?我們就來(lái)詳細(xì)介紹一下這方面的效驗(yàn)問(wèn)題。首先我們要明確一下ICMP的定義。
ICMP簡(jiǎn)介對(duì)于熟悉網(wǎng)絡(luò)的人來(lái)說(shuō), ICMP是再熟悉不過(guò)了。它同IP協(xié)議一樣工作在ISO模型的網(wǎng)絡(luò)層, 它的全稱是: Internet Control Message Protocal. 其在網(wǎng)絡(luò)中的主要作用是:
- 主機(jī)探測(cè)
- 路由維護(hù)
- 路由選擇
- 流量控制
對(duì)于主機(jī)探測(cè)來(lái)說(shuō)有很多方法,主機(jī)某些服務(wù)的BANNER,一些使用的應(yīng)用程序,或者使用工具來(lái)檢測(cè)主機(jī),如NMAP,在WEB上有www.netcraft.com來(lái)簡(jiǎn)單的估測(cè)主機(jī)。下面所講的是使用ICMP協(xié)議來(lái)探測(cè)主機(jī),主要也是可以了解ICMP這個(gè)協(xié)議,這里最主要的也是將這個(gè)ICMP協(xié)議。
協(xié)議分析 - ICMP協(xié)議解碼詳解
ICMP全稱Internet Control Message Protocol,中文名為因特網(wǎng)控制報(bào)文協(xié)議。它工作在OSI的網(wǎng)絡(luò)層,向數(shù)據(jù)通訊中的源主機(jī)報(bào)告錯(cuò)誤。ICMP可以實(shí)現(xiàn)故障隔離和故障恢復(fù)。
網(wǎng)絡(luò)本身是不可靠的,在網(wǎng)絡(luò)傳輸過(guò)程中,可能會(huì)發(fā)生許多突發(fā)事件并導(dǎo)致數(shù)據(jù)傳輸失敗。網(wǎng)絡(luò)層的IP協(xié)議是一個(gè)無(wú)連接的協(xié)議,它不會(huì)處理網(wǎng)絡(luò)層傳輸中的故障,而位于網(wǎng)絡(luò)層的ICMP協(xié)議卻恰好彌補(bǔ)了IP的缺限,它使用IP協(xié)議進(jìn)行信息傳遞,向數(shù)據(jù)包中的源端節(jié)點(diǎn)提供發(fā)生在網(wǎng)絡(luò)層的錯(cuò)誤信息反饋。
ICMP提供多種類型的消息為源端節(jié)點(diǎn)提供網(wǎng)絡(luò)層的故障信息反饋,它的報(bào)文類型可以歸納為以下5個(gè)大類:
診斷報(bào)文(類型8,代碼0;類型0,代碼0);
目的不可達(dá)報(bào)文(類型3,代碼0-15);
重定向報(bào)文(類型5,代碼0-4);
超時(shí)報(bào)文(類型11,代碼0-1);
信息報(bào)文(類型12-18)。
詳細(xì)解碼使用科來(lái)網(wǎng)絡(luò)分析系統(tǒng)捕獲數(shù)據(jù)包,我們得到ICMP回顯報(bào)文的信息,如圖1所示
ICMP協(xié)議內(nèi)容
ICMP的全稱是InternetControlMessageProtocol?從技術(shù)教度來(lái)說(shuō),ICMP就是一個(gè)“錯(cuò)誤偵測(cè)與回報(bào)機(jī)制“,其目的就是讓我們能夠檢測(cè)網(wǎng)路的連線狀況﹐也能確保連線的準(zhǔn)確性﹐其功能主要有:
◆偵測(cè)遠(yuǎn)端主機(jī)是否存在?
◆建立及維護(hù)路由資料?
◆重導(dǎo)資料傳送路徑?
◆資料流量控制?
ICMP在溝通之中,主要是透過(guò)不同的類別(Type)與代碼(Code)讓機(jī)器來(lái)識(shí)別不同的連線狀況?常用的類別如下表所列﹕
ICMP是個(gè)非常有用的協(xié)定﹐尤其是當(dāng)我們要對(duì)網(wǎng)路連接狀況進(jìn)行判斷的時(shí)候?下面讓我們看看常用的ICMP實(shí)例,以更好了解ICMP的功能與作用?
ICMP協(xié)議的重要性ICMP協(xié)議對(duì)于網(wǎng)絡(luò)安全具有極其重要的意義?ICMP協(xié)議本身的特點(diǎn)決定了它非常容易被用于攻擊網(wǎng)絡(luò)上的路由器和主機(jī)?例如,在1999年8月海信集團(tuán)“懸賞“50萬(wàn)元人民幣測(cè)試防火墻的過(guò)程中,其防火墻遭受到的ICMP攻擊達(dá)334050次之多,占整個(gè)攻擊總數(shù)的90%以上!可見(jiàn),ICMP的重要性絕不可以忽視!
比如,可以利用操作系統(tǒng)規(guī)定的ICMP數(shù)據(jù)包最大尺寸不超過(guò)64KB這一規(guī)定,向主機(jī)發(fā)起“PingofDeath”(死亡之Ping)攻擊?“PingofDeath“攻擊的原理是:如果ICMP數(shù)據(jù)包的尺寸超過(guò)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資源處理,疲于奔命?
ICMP協(xié)議的校驗(yàn)和算法
我們?cè)诰W(wǎng)絡(luò)中經(jīng)常會(huì)使用到ICMP協(xié)議,只不過(guò)我們覺(jué)察不到而已?比如我們經(jīng)常使用的用于檢查網(wǎng)絡(luò)通不通的Ping命令,這個(gè)“Ping“的過(guò)程實(shí)際上就是ICMP協(xié)議工作的過(guò)程?還有其他的網(wǎng)絡(luò)命令如跟蹤路由的Tracert命令也是基于ICMP協(xié)議的?





