實(shí)驗(yàn)5Internet控制報(bào)文協(xié)議(ICMP) 2_第1頁
實(shí)驗(yàn)5Internet控制報(bào)文協(xié)議(ICMP) 2_第2頁
實(shí)驗(yàn)5Internet控制報(bào)文協(xié)議(ICMP) 2_第3頁
實(shí)驗(yàn)5Internet控制報(bào)文協(xié)議(ICMP) 2_第4頁
實(shí)驗(yàn)5Internet控制報(bào)文協(xié)議(ICMP) 2_第5頁
已閱讀5頁,還剩35頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、實(shí)驗(yàn)5 Internet控制報(bào)文協(xié)議(ICMP)【實(shí)驗(yàn)?zāi)康摹?.  掌握ICMP協(xié)議的報(bào)文格式2.  理解不同類型ICMP報(bào)文的具體意義3.  了解常見的網(wǎng)絡(luò)故障【學(xué)時(shí)分配】2學(xué)時(shí)【實(shí)驗(yàn)環(huán)境】該實(shí)驗(yàn)采用網(wǎng)絡(luò)結(jié)構(gòu)二【實(shí)驗(yàn)內(nèi)容】一. ICMP簡(jiǎn)介IP協(xié)議是一種不可靠無連接的協(xié)議,當(dāng)數(shù)據(jù)包經(jīng)過多個(gè)網(wǎng)絡(luò)傳輸后,可能出現(xiàn)錯(cuò)誤、目的主機(jī)不響應(yīng)、包擁塞和包丟失等問題。為了處理這些問題,在IP層引入了另一個(gè)協(xié)議ICMP(Internet控制信息協(xié)議)。ICMP報(bào)文有兩種類型:差錯(cuò)報(bào)文和查詢報(bào)文。ICMP報(bào)文封裝在IP報(bào)文里傳輸。ICMP報(bào)文可以被IP協(xié)議、傳輸層協(xié)議(TCP或UD

2、P)和用戶進(jìn)程使用。ICMP與IP一樣,都是不可靠傳輸,ICMP的信息也可能丟失。為了防止ICMP報(bào)文無限制的連續(xù)發(fā)送,對(duì)于ICMP報(bào)文在傳輸中發(fā)生的問題,將不再發(fā)送ICMP差錯(cuò)報(bào)文。二. ICMP報(bào)文格式ICMP數(shù)據(jù)包由8字節(jié)的首部和可變長度的數(shù)據(jù)部分組成。如下圖所示,第一個(gè)字段是ICMP的類型,它定義了報(bào)文類型。第二個(gè)字段是代碼字段,它指明了發(fā)送這個(gè)特定報(bào)文類型的原因。校驗(yàn)和字段為ICMP數(shù)據(jù)包提供差錯(cuò)校驗(yàn)。對(duì)于不同類型的ICMP數(shù)據(jù)包,首部的最后4個(gè)字節(jié)的格式是不同的,具體的格式將在下面討論。差錯(cuò)報(bào)文的數(shù)據(jù)部分?jǐn)y帶引起差錯(cuò)的原始數(shù)據(jù)。查詢報(bào)文的數(shù)據(jù)部分?jǐn)y帶了基于查詢類型的額外信息。圖4-

3、1  ICMP報(bào)文的一般格式  類型:8位字段,用于描述特定類型的ICMP報(bào)文。  代碼:8位字段,進(jìn)一步描述某些ICMP報(bào)文的具體說明。  校驗(yàn)和:16位字段,覆蓋這個(gè)ICMP報(bào)文的校驗(yàn)和。三. ICMP封裝ICMP報(bào)文封裝在IP數(shù)據(jù)報(bào)中,具體的封裝方法如下圖所示:圖4-2  ICMP封裝四. ICMP報(bào)文類型ICMP報(bào)文可分為兩大類:差錯(cuò)報(bào)文和查詢報(bào)文,如下圖所示:圖4-3  ICMP報(bào)文類型差錯(cuò)報(bào)文報(bào)告路由器或主機(jī)在處理IP數(shù)據(jù)報(bào)時(shí)遇到的問題。查詢報(bào)文是成對(duì)出現(xiàn)的,它幫助主機(jī)或網(wǎng)絡(luò)管理員從一個(gè)路由器或另一個(gè)主機(jī)得到特定的信息。例

4、如,主機(jī)使用ICMP回顯請(qǐng)求和回顯應(yīng)答報(bào)文發(fā)現(xiàn)它們的鄰站。下表列出了每一類ICMP報(bào)文。表4-1  ICMP報(bào)文五. ICMP查詢報(bào)文ICMP查詢報(bào)文能夠獲得特定主機(jī)或路由器的信息,能夠?qū)δ承┚W(wǎng)絡(luò)問題進(jìn)行診斷。ICMP查詢報(bào)文包括4對(duì)不同類型的報(bào)文,分別為回顯請(qǐng)求和應(yīng)答報(bào)文、時(shí)間戳請(qǐng)求和應(yīng)答報(bào)文、地址掩碼請(qǐng)求和應(yīng)答報(bào)文以及路由器詢問和通告報(bào)文,如下圖所示。圖4-4  查詢報(bào)文1.  回顯請(qǐng)求和應(yīng)答回顯請(qǐng)求報(bào)文和回顯應(yīng)答報(bào)文用來確定了兩個(gè)節(jié)點(diǎn)(主機(jī)或路由器)之間是否能夠正常通信。用戶可以使用這對(duì)報(bào)文來發(fā)現(xiàn)網(wǎng)絡(luò)問題。主機(jī)或路由器可以發(fā)送回顯請(qǐng)求報(bào)文給另一個(gè)主機(jī)或路由器

5、。收到回顯請(qǐng)求報(bào)文的主機(jī)或路由器產(chǎn)生回顯應(yīng)答報(bào)文,并將其返回給原來的發(fā)送端。回顯請(qǐng)求和回顯應(yīng)答報(bào)文可用來確定是否在IP這級(jí)能夠通信。因?yàn)镮CMP報(bào)文被封裝在IP數(shù)據(jù)報(bào)中,發(fā)送回顯請(qǐng)求的主機(jī)在收到回顯應(yīng)答報(bào)文時(shí),就證明了在發(fā)送端和接收端之間能夠使用IP數(shù)據(jù)報(bào)進(jìn)行通信。另外,這還證明了鏈路中的路由器能夠接收、處理和轉(zhuǎn)發(fā)數(shù)據(jù)報(bào)?;仫@請(qǐng)求和回顯應(yīng)答報(bào)文還可以用于檢查另一個(gè)主機(jī)是否可達(dá)。用戶可以調(diào)用數(shù)據(jù)包因特網(wǎng)搜尋器(ping)命令做到這一點(diǎn)。現(xiàn)在,大多數(shù)系統(tǒng)都提供ping命令,它可以產(chǎn)生一連串的回顯請(qǐng)求或回顯應(yīng)答報(bào)文?;仫@請(qǐng)求和回顯應(yīng)答報(bào)文也可以用來驗(yàn)證某個(gè)節(jié)點(diǎn)是否正常工作。可以向被測(cè)試的節(jié)點(diǎn)發(fā)送回顯

6、請(qǐng)求報(bào)文,該報(bào)文的數(shù)據(jù)字段包含一段信息,如果這段信息被測(cè)試的節(jié)點(diǎn)在回顯應(yīng)答報(bào)文中完全一樣地重復(fù),則說明該節(jié)點(diǎn)工作正常;否則說明該節(jié)點(diǎn)出了問題。下圖給出了回顯請(qǐng)求和回顯應(yīng)答報(bào)文的格式。類型值為8表示回顯請(qǐng)求報(bào)文,類型值為0表示回顯應(yīng)答報(bào)文。標(biāo)識(shí)符和序號(hào)字段在協(xié)議中沒有正式定義,可以由發(fā)送端任意使用。圖4-5  ICMP回顯請(qǐng)求和應(yīng)答報(bào)文2.  時(shí)間戳請(qǐng)求和應(yīng)答兩個(gè)機(jī)器(主機(jī)或路由器)可使用時(shí)間戳請(qǐng)求和時(shí)間戳應(yīng)答報(bào)文來確定IP數(shù)據(jù)報(bào)在這兩個(gè)機(jī)器之間傳輸所需要的時(shí)間,也可以用作兩個(gè)機(jī)器時(shí)鐘的同步。這兩個(gè)報(bào)文的格式如下圖所示。其中,類型值為13表示時(shí)間戳請(qǐng)求報(bào)文,類型值為14表示時(shí)

7、間戳應(yīng)答報(bào)文。圖4-6  時(shí)間戳請(qǐng)求和應(yīng)答報(bào)文在報(bào)文格式中3個(gè)時(shí)間戳字段的長度都是32位。每一個(gè)字段都保存一個(gè)整數(shù),代表從通用時(shí)間(格林尼治標(biāo)準(zhǔn)時(shí)間)的午夜起測(cè)量出的時(shí)間,以毫秒為單位。源節(jié)點(diǎn)在時(shí)間戳請(qǐng)求報(bào)文的原始時(shí)間戳字段填入它的時(shí)鐘所顯示的通用時(shí)間。其它兩個(gè)時(shí)間戳字段都填入零。收到時(shí)間戳請(qǐng)求報(bào)文后,終點(diǎn)將生成時(shí)間戳應(yīng)答報(bào)文。終點(diǎn)把請(qǐng)求報(bào)文中的原始時(shí)間戳字段值復(fù)制到應(yīng)答報(bào)文的同一個(gè)字段中。然后在接收時(shí)間戳字段中填入收到這個(gè)請(qǐng)求報(bào)文時(shí)其時(shí)鐘所顯示的通用時(shí)間。最后,終點(diǎn)在應(yīng)答報(bào)文將要發(fā)送時(shí)在發(fā)送時(shí)間戳字段中填入其時(shí)鐘所顯示的通用時(shí)間。時(shí)間戳請(qǐng)求和時(shí)間戳應(yīng)答報(bào)文可以用來計(jì)算數(shù)據(jù)報(bào)從源點(diǎn)到

8、終點(diǎn)所需的時(shí)間,還可以用于計(jì)算數(shù)據(jù)報(bào)再返回到源點(diǎn)所需的時(shí)間。3.  地址掩碼請(qǐng)求和應(yīng)答要得到掩碼,主機(jī)應(yīng)該向局域網(wǎng)上的路由器發(fā)送地址掩碼請(qǐng)求報(bào)文。若主機(jī)知道路由器的地址,它就把請(qǐng)求直接發(fā)送給該路由器。若主機(jī)不知道路由器的地址,則它就廣播地址掩碼請(qǐng)求報(bào)文。路由器收到地址掩碼請(qǐng)求報(bào)文后,用地址掩碼應(yīng)答報(bào)文進(jìn)行響應(yīng),向主機(jī)提供所需的掩碼。地址掩碼請(qǐng)求和地址掩碼應(yīng)答報(bào)文的格式如下圖所示。其中,類型值為17表示地址掩碼請(qǐng)求報(bào)文,類型值為18表示地址掩碼應(yīng)答報(bào)文。在請(qǐng)求報(bào)文中,地址掩碼字段填入全0。當(dāng)路由器把地址掩碼應(yīng)答發(fā)回給主機(jī)時(shí),這個(gè)字段就包含真正的掩碼。圖4-7  地址掩碼請(qǐng)求和

9、應(yīng)答報(bào)文無盤工作站在啟動(dòng)時(shí)是需要地址掩碼的,它會(huì)使用RARP協(xié)議查找完整的IP地址,在收到IP地址以后,無盤工作站就可使用地址掩碼請(qǐng)求報(bào)文找出地址掩碼,從而確定IP地址的哪一部分定義了子網(wǎng)號(hào),哪一部分定義了主機(jī)號(hào)。4.  路由器詢問和通告主機(jī)若想把數(shù)據(jù)發(fā)送給另一個(gè)網(wǎng)絡(luò)上的主機(jī),就需要知道連接到該網(wǎng)絡(luò)上的路由器的地址。此外,這個(gè)主機(jī)還需要知道這些路由器是否正常工作。路由器詢問報(bào)文和路由器通告報(bào)文可以完成這項(xiàng)工作。主機(jī)可把路由器詢問報(bào)文進(jìn)行廣播(或多播)。收到詢問報(bào)文的一個(gè)或幾個(gè)路由器就使用路由器通告報(bào)文廣播其路由選擇信息。甚至在沒有主機(jī)詢問時(shí),路由器也可周期性地發(fā)送路由器通告報(bào)文。路由

10、器發(fā)送出通告報(bào)文時(shí),它不僅通告了自己的存在,而且也通告了它所知道的所有在這個(gè)網(wǎng)絡(luò)上的路由器。下圖給出了路由器詢問報(bào)文的格式。圖4-8  路由器詢問報(bào)文下圖給出了路由器通告報(bào)文的格式。生存期字段表示這個(gè)報(bào)文在多長時(shí)間內(nèi)是有效的。在通告報(bào)文中每一個(gè)路由器的項(xiàng)目有兩個(gè)字段:路由器地址和地址優(yōu)先級(jí)。地址優(yōu)先級(jí)定義了路由器的等級(jí)。優(yōu)先級(jí)用來選擇某個(gè)路由器作為默認(rèn)路由器。若地址優(yōu)先級(jí)為零,則這個(gè)路由器就被認(rèn)為是默認(rèn)路由器。若地址優(yōu)先級(jí)是0x80000000,則這個(gè)路由器永遠(yuǎn)不能被選為默認(rèn)路由器。圖4-9  路由器通告報(bào)文六. ICMP差錯(cuò)報(bào)文ICMP差錯(cuò)報(bào)文用來報(bào)告差錯(cuò)。雖然現(xiàn)代的技術(shù)

11、已經(jīng)制造出很可靠的傳輸媒體,但差錯(cuò)仍然存在,因而必須進(jìn)行處理。正如在實(shí)驗(yàn)三中所討論的,IP是個(gè)不可靠的協(xié)議。這就表示IP不考慮差錯(cuò)校驗(yàn)和差錯(cuò)控制。ICMP就是為了補(bǔ)償這個(gè)缺點(diǎn)而設(shè)計(jì)的。然而ICMP不能糾正差錯(cuò),它只是報(bào)告差錯(cuò),差錯(cuò)糾正留給高層協(xié)議去做。ICMP使用源IP地址把差錯(cuò)報(bào)文發(fā)送給數(shù)據(jù)報(bào)的源點(diǎn)(發(fā)出者)。一共有5種差錯(cuò)報(bào)文:目的端不可達(dá)、源點(diǎn)抑制、超時(shí)、參數(shù)問題以及改變路由,如下圖所示。圖4-10  差錯(cuò)報(bào)文差錯(cuò)報(bào)文的數(shù)據(jù)字段包括原始數(shù)據(jù)報(bào)(引起差錯(cuò)的報(bào)文)的首部和原始數(shù)據(jù)報(bào)數(shù)據(jù)部分的前8個(gè)字節(jié)。包括原始數(shù)據(jù)報(bào)首部的目的是為了向差錯(cuò)報(bào)文的原始信源給出關(guān)于數(shù)據(jù)報(bào)本身的信息。包括

12、數(shù)據(jù)的前8個(gè)字節(jié)是因?yàn)檫@前8個(gè)字節(jié)提供了關(guān)于端口號(hào)(UDP和TCP)和序號(hào)(TCP)的信息。根據(jù)這些信息,源點(diǎn)可以把差錯(cuò)情況通知給上層協(xié)議。1.  目的端不可達(dá)當(dāng)路由器不能夠?yàn)閿?shù)據(jù)報(bào)找到路由或主機(jī),就丟棄這個(gè)數(shù)據(jù)報(bào),然后向發(fā)出這個(gè)數(shù)據(jù)報(bào)的源主機(jī)發(fā)送目的端不可達(dá)報(bào)文。下圖給出了目的端不可達(dá)報(bào)文的格式。這種類型的代碼字段指明了丟棄該數(shù)據(jù)報(bào)的原因。圖4-11  目的端不可達(dá)報(bào)文2.  源點(diǎn)抑制IP協(xié)議是無連接協(xié)議,因此通信缺乏流量控制。ICMP源點(diǎn)抑制報(bào)文就是為了給IP增加一種流量控制而設(shè)計(jì)的。當(dāng)路由器或主機(jī)因擁塞而丟棄數(shù)據(jù)報(bào)時(shí),它就向數(shù)據(jù)報(bào)的發(fā)送端發(fā)送源點(diǎn)抑制報(bào)文。第

13、一,它通知發(fā)送端,數(shù)據(jù)報(bào)已被丟棄。第二,它警告發(fā)送端,在路徑中的某處出現(xiàn)了擁塞,因而源端必須放慢發(fā)送過程。源點(diǎn)抑制報(bào)文的格式如下圖所示:圖4-12  源點(diǎn)抑制報(bào)文3.  超時(shí)超時(shí)報(bào)文是在以下兩種情況下產(chǎn)生的:  數(shù)據(jù)報(bào)的生存時(shí)間字段值被減為0時(shí),路由器丟棄這個(gè)數(shù)據(jù)報(bào),并向發(fā)送端發(fā)送超時(shí)報(bào)文。  當(dāng)組成報(bào)文的所有分段未能在某一時(shí)限內(nèi)到達(dá)目的主機(jī)時(shí),也要產(chǎn)生超時(shí)報(bào)文。當(dāng)?shù)谝粋€(gè)分段到達(dá)時(shí),目的主機(jī)就啟動(dòng)計(jì)時(shí)器。當(dāng)計(jì)時(shí)器的時(shí)限到了,目的主機(jī)就將所有分段丟棄,并向發(fā)送端發(fā)送超時(shí)報(bào)文。超時(shí)報(bào)文格式如下圖所示:圖4-13  超時(shí)報(bào)文4.  參數(shù)問題

14、當(dāng)數(shù)據(jù)報(bào)在Internet上傳送時(shí),如果路由器或目的主機(jī)發(fā)現(xiàn)數(shù)據(jù)報(bào)首部中出現(xiàn)了二義性問題,或在數(shù)據(jù)報(bào)的某個(gè)字段中缺少某個(gè)值,它就丟棄這個(gè)數(shù)據(jù)報(bào),并向發(fā)送端發(fā)送參數(shù)問題報(bào)文。下圖給出了參數(shù)問題報(bào)文格式。代碼字段指明了丟棄數(shù)據(jù)報(bào)的原因。圖4-14  參數(shù)問題報(bào)文  代碼為0時(shí)表示在首部的某個(gè)字段中有差錯(cuò)或二義性。指針字段值指向有問題的字節(jié)。  代碼為1時(shí)表示缺少所需的選項(xiàng)部分。這種情況下不使用指針。5.  重定向?yàn)榱颂岣咝?,主機(jī)不參與路由選擇更新過程,因此,主機(jī)可能會(huì)把某數(shù)據(jù)報(bào)發(fā)送給一個(gè)錯(cuò)誤的路由器。這時(shí),收到這個(gè)數(shù)據(jù)報(bào)的路由器會(huì)把數(shù)據(jù)轉(zhuǎn)發(fā)給正確的路由器,

15、同時(shí)向主機(jī)發(fā)送重定向報(bào)文,告訴主機(jī)正確路由器的地址。下圖給出了重定向報(bào)文的格式。圖4-15  改變路由報(bào)文七. ICMP校驗(yàn)和ICMP的校驗(yàn)和的計(jì)算覆蓋了整個(gè)ICMP報(bào)文(首部和數(shù)據(jù))。1.  校驗(yàn)和的計(jì)算發(fā)送端按以下步驟使用反碼算術(shù)運(yùn)算計(jì)算校驗(yàn)和:(1)把校驗(yàn)和字段置為零。(2)把報(bào)文按照16位長度分段,使用反碼算術(shù)運(yùn)算計(jì)算所有分段之和。(3)把得到的和求反碼,得到校驗(yàn)和。(4)把校驗(yàn)和存儲(chǔ)在校驗(yàn)和字段中。2.  校驗(yàn)和的測(cè)試接收端按以下步驟使用反碼算術(shù)運(yùn)算來測(cè)試校驗(yàn)和的正確性:(1)把報(bào)文按照16位長度分段,使用反碼算術(shù)運(yùn)算計(jì)算所有分段之和。(2)把得到的和求

16、反碼?!緦?shí)驗(yàn)步驟】實(shí)驗(yàn)要求:1. 按照實(shí)驗(yàn)指導(dǎo)書中要求的實(shí)驗(yàn)步驟完成練習(xí)1、3兩項(xiàng)的實(shí)驗(yàn)內(nèi)容;2. 回答出實(shí)驗(yàn)練習(xí)1、3中給出的每一個(gè)問題;注意:本次實(shí)驗(yàn)中請(qǐng)將各主機(jī)的子網(wǎng)掩碼設(shè)置成練習(xí)1運(yùn)行Ping命令各主機(jī)打開協(xié)議分析器,進(jìn)入相應(yīng)的網(wǎng)絡(luò)結(jié)構(gòu)并驗(yàn)證網(wǎng)絡(luò)拓?fù)涞恼_性,如果通過拓?fù)潋?yàn)證,關(guān)閉協(xié)議分析器繼續(xù)進(jìn)行實(shí)驗(yàn),如果沒有通過拓?fù)潋?yàn)證,請(qǐng)檢查網(wǎng)絡(luò)連接。本練習(xí)將主機(jī)A、B、C、D、E、F作為一組進(jìn)行實(shí)驗(yàn)。實(shí)驗(yàn)開始前主機(jī)B首先執(zhí)行命令“staticroute_config”啟動(dòng)靜態(tài)路由。 1.  主機(jī)B、E、F啟動(dòng)協(xié)議分析器,打開捕獲窗口進(jìn)行數(shù)據(jù)捕獲并設(shè)置過濾條件

17、(提取ICMP協(xié)議)。2.  主機(jī)A ping主機(jī)E()。3.  主機(jī)B、E、F停止捕獲數(shù)據(jù),察看捕獲到的數(shù)據(jù),并回答以下問題:  捕獲的報(bào)文對(duì)應(yīng)的“類型”和“代碼”字段分別是什么?類型 8 代碼0  分析報(bào)文中的哪些字段保證了回顯請(qǐng)求報(bào)文和回顯應(yīng)答報(bào)文的一一對(duì)應(yīng)?新增加的條目,簡(jiǎn)述ARP協(xié)議的報(bào)文交互過程以及ARP高速緩存表的更新過程。1、代碼、標(biāo)識(shí)號(hào)、序列號(hào),協(xié)議數(shù)據(jù)2、練習(xí)2 ICMP查詢報(bào)文本練習(xí)將主機(jī)A、B、C、D、E、F作為一組進(jìn)行實(shí)驗(yàn)。1.  主機(jī)A啟動(dòng)協(xié)議編輯器,編輯一個(gè)ICMP時(shí)間戳請(qǐng)求數(shù)據(jù)幀發(fā)送給主機(jī)C

18、(3)。MAC層:目的MAC地址:C的MAC地址。源MAC地址:A的MAC地址。協(xié)議類型或數(shù)據(jù)長度:0800。IP層:總長度:包含IP層和ICMP層長度。高層協(xié)議類型:1。校驗(yàn)和:在其它字段填充完畢后計(jì)算并填充。源IP地址:A的IP地址。目的IP地址:C的IP地址。ICMP層:類型:13。代碼字段:0。校驗(yàn)和:在ICMP層其它字段填充完畢后,計(jì)算并填充。其它字段使用默認(rèn)值。2.  主機(jī)C啟動(dòng)協(xié)議分析器進(jìn)行數(shù)據(jù)捕獲,并設(shè)置過濾條件(提取ICMP協(xié)議)。3.  主機(jī)A發(fā)送已編輯好的數(shù)據(jù)幀。4.  主機(jī)C停止捕獲數(shù)據(jù)。察看主機(jī)C捕獲到的數(shù)據(jù),并填寫下

19、表:表4-2  實(shí)驗(yàn)結(jié)果練習(xí)3 ICMP差錯(cuò)報(bào)文本練習(xí)將主機(jī)A、B、C、D、E、F作為一組進(jìn)行實(shí)驗(yàn)。1.  目的端不可達(dá)(1)主機(jī)A、B、C、D、E、F啟動(dòng)協(xié)議分析器捕獲數(shù)據(jù),并設(shè)置過濾條件(提取ICMP)。(2)在主機(jī)A、C、D、E上ping 0(不存在的IP)。 (3)主機(jī)A、B、C、D、E、F停止捕獲數(shù)據(jù)。察看捕獲到的數(shù)據(jù),并回答以下問題:  捕獲到的是哪一種目的端不可達(dá)報(bào)文ICMP2.  超時(shí)(1)在主機(jī)E上啟動(dòng)協(xié)議編輯器,編寫一個(gè)發(fā)送給主機(jī)D(4)的ICMP數(shù)據(jù)幀。其中:MAC層:目的MAC地址

20、:主機(jī)B的MAC地址(接口的MAC)。源MAC地址:E的MAC地址。協(xié)議類型或數(shù)據(jù)長度:0800。IP層:總長度:包含IP層和ICMP層長度。TTL:0。高層協(xié)議類型:1。校驗(yàn)和:在其它字段填充完畢后,計(jì)算并填充。源IP地址:E的IP地址。目的IP地址:D的IP地址。ICMP層:類型:8。代碼字段:0。校驗(yàn)和:在ICMP其它字段填充完畢后,計(jì)算并填充。其它字段使用默認(rèn)值。(2)主機(jī)B(的接口)、F啟動(dòng)協(xié)議分析器捕獲數(shù)據(jù),并設(shè)置過濾條件(提取ICMP協(xié)議)。(3)主機(jī)E發(fā)送已編輯好的數(shù)據(jù)幀。(4)主機(jī)B、F停止捕獲數(shù)據(jù),察看并分析捕獲到的數(shù)據(jù)。(5)主

21、機(jī)B在命令行方式下輸入recover_config命令,停止靜態(tài)路由服務(wù)。【思考問題】練習(xí)21.  能否根據(jù)時(shí)間戳計(jì)算出當(dāng)前的時(shí)間?能2.  使用時(shí)間戳得到的時(shí)間比從系統(tǒng)得到的時(shí)間有什么好處?比系統(tǒng)得到的精確練習(xí)31.  為什么要設(shè)置TTL字段?用來判斷收到的包是否有效2.  為什么要限制由失效的ICMP差錯(cuò)報(bào)文再產(chǎn)生一個(gè)ICMP報(bào)文?對(duì)源點(diǎn)通知高層協(xié)議是有用。3.  什么樣的ICMP報(bào)文是由路由器發(fā)送出的?什么樣的ICMP報(bào)文是由目的主機(jī)發(fā)送出的?4.  主機(jī)A向主機(jī)B發(fā)送數(shù)據(jù)報(bào),主機(jī)B從未收到該數(shù)據(jù)報(bào),而主機(jī)A也從未收到出問題的通

22、知。試給出可能發(fā)生情況的兩種不同解釋。 論文設(shè)計(jì)題目 ICMP協(xié)議及應(yīng)用研究 The ICMP Protocol and Its Application Study 作 者 張 李 華 二級(jí)學(xué)院、專業(yè) 信息工程學(xué)院 計(jì)算機(jī)科學(xué)技術(shù) 班 級(jí) 計(jì)001 指導(dǎo)教師職稱 詹國華教授 論 文 字 數(shù) 10202 論文完成時(shí)間 2008年5月 教務(wù)處制 本科畢業(yè)論文 ICMP協(xié)議和應(yīng)用研究 2 目 錄 摘要3 Abstract4 第一章 引言5 第二章 基于IPv4的ICMP的認(rèn)識(shí)5 2.1 OSI參考模型和TCP/IP參考模型的比較 5 2.2 TCP/IP 在網(wǎng)絡(luò)中的地位和作用6 2.3 ICMP的介

23、紹7 2.3.1 ICMP 協(xié)議報(bào)頭7 2.3.2 ICMP協(xié)議的消息8 2.3.3 ping命令8 2.3.4 路由跟蹤traceroute8 2.4 ICMP 攻擊影響網(wǎng)絡(luò)安全8 第三章ICMP部分功能的模擬實(shí)現(xiàn)10 3.1 背景10 3.1.1 ping命令的深入認(rèn)識(shí)10 3.2存在的問題12 3.3 CPing的功能特點(diǎn)13 3.3.1網(wǎng)絡(luò)的連通13 3.3.2可視化界面13 3.3.3 顯示簡(jiǎn)單對(duì)一般用戶容易看懂13 3.3.4 容量小易攜帶13 3.4模擬環(huán)境14 3.5.1硬件環(huán)境14 3.5.2軟件環(huán)境14 3.5 實(shí)現(xiàn)14 3.5.1 文件組成14 3.5.2 網(wǎng)絡(luò)套接字16

24、 3.6 操作過程及結(jié)果的顯示16 第四章ICMP的發(fā)展趨勢(shì)基于Ipv6的ICMP18 參考文獻(xiàn)19 本科畢業(yè)論文 ICMP協(xié)議和應(yīng)用研究 3 摘要 本文較深入地研究了TCP/IP協(xié)議組中的ICMP協(xié)議。ICMP是“Internet Control Message Protocol”Internet控制報(bào)文協(xié)議的縮寫是一個(gè)非常重要的協(xié)議。ICMP是一種與IP協(xié)議并行運(yùn)行在網(wǎng)絡(luò)層的協(xié)議用于在IP主機(jī)、路由器之間傳遞控制消息??刂葡W(wǎng)絡(luò)通不通、主機(jī)是否可達(dá)、路由是否可用等網(wǎng)絡(luò)本身的消息。本文還深入研究了在常用操作系統(tǒng)下(如UNIXWindowsDOS)利用ICMP協(xié)議實(shí)現(xiàn)的ping命令它是用

25、來測(cè)試網(wǎng)絡(luò)是否通暢主機(jī)是否可達(dá)以及用Visual C+制作模擬ping命令的小軟件PingDemo它雖小但是簡(jiǎn)便面向一般用戶。 關(guān)鍵詞ICMPTCP/IPping 本科畢業(yè)論文 ICMP協(xié)議和應(yīng)用研究 4 Abstract The paper searches the ICMP protocol in TCP/IP deeply.ICMP is Internet Control Message Protocolwhich plays a very important role. ICMP that works in the same degree as IP protocolis used t

26、o pass the control message between ip-host and rounters.The control message tells you that is the net linkedhas the host been arrivedor is the rounter working and so on.In additionthe paper also searches the ping command in the common OS with ICMP.The ping command is to check that the host exists or

27、 not.And moreusing Visual C+ to make a soft called PingDemo as similar as ping.It faces to everyone though it is small. Keywords: ICMPTCP/IPping 本科畢業(yè)論文 ICMP協(xié)議和應(yīng)用研究 5 第一章 引言 隨著科學(xué)技術(shù)的飛速發(fā)展21世紀(jì)的地球人已經(jīng)生活在信息時(shí)代。20世紀(jì)人類兩大科學(xué)技術(shù)成果-計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)均已深入到人類社會(huì)的各個(gè)領(lǐng)域Internet把“地球村”的居民緊密聯(lián)系在一起“天涯若比鄰”已然成為現(xiàn)實(shí)?;ヂ?lián)網(wǎng)之所以能這樣迅速蔓延被世人接受是因?yàn)?/p>

28、它具備特有的信息資源。近年來Internet的迅速發(fā)展給人們的日常生活帶來了全新的感受“網(wǎng)絡(luò)生存”已經(jīng)成為時(shí)尚同時(shí)人類社會(huì)諸如政治、科研、經(jīng)濟(jì)、軍事等各種活動(dòng)對(duì)信息網(wǎng)絡(luò)的依賴程度已經(jīng)越來越強(qiáng)“網(wǎng)絡(luò)經(jīng)濟(jì)”時(shí)代已初露端倪。 ping命令早已是耳熟能詳?shù)臋z查網(wǎng)絡(luò)暢通的得力方法之一但是ping命令是來自于哪個(gè)網(wǎng)絡(luò)層次的哪個(gè)協(xié)議就不是每個(gè)人能說得上的了。同樣對(duì)于TCP/IP協(xié)議我們一定非常熟悉但是對(duì)于ICMP協(xié)議可能就一無所知了。ICMP協(xié)議是一個(gè)非常重要的協(xié)議它對(duì)于網(wǎng)絡(luò)安全、網(wǎng)絡(luò)的正常運(yùn)作具有極其重要的意義。它被用于在IP主機(jī)、路由器之間傳遞控制消息如網(wǎng)絡(luò)通不通、主機(jī)是否可達(dá)、路由是否可用等。這些控制

29、消息雖然并不傳輸用戶數(shù)據(jù)但是對(duì)于用戶數(shù)據(jù)的傳遞起著重要的作用。而且ICMP協(xié)議本身的特點(diǎn)又決定了它非常容易被用于攻擊網(wǎng)絡(luò)上的路由器和主機(jī)造成CPU疲于奔命系統(tǒng)癱瘓主機(jī)死機(jī)。以上所言ICMP的研究將會(huì)帶領(lǐng)我們進(jìn)入一個(gè)豐富多彩的未知領(lǐng)域。 第二章 基于IPV4的ICMP的認(rèn)識(shí) 2.1 OSI參考模型和TCP/IP參考模型的比較 盡管OSI模型在各種場(chǎng)合得到了廣泛的應(yīng)用但由于其建立時(shí)間過早各種網(wǎng)絡(luò)的發(fā)展不斷突破了OSI參考模型特別是互聯(lián)網(wǎng)的發(fā)展對(duì)OSI模型是一個(gè)巨大的挑戰(zhàn)。OSI參考模型的教訓(xùn)是首先引入時(shí)間過晚建立標(biāo)準(zhǔn)時(shí)TCP/IP已在大學(xué)使用而后來又被廣泛使用其次在技術(shù)上不能完全適應(yīng)網(wǎng)絡(luò)發(fā)展現(xiàn)狀如

30、會(huì)話層在大多數(shù)應(yīng)用中很少使用表述層幾乎是空的。相反數(shù)據(jù)鏈路層和網(wǎng)絡(luò)層內(nèi)容過多有時(shí)不得不分成子層每一子層賦予不同的功能。OSI的另一個(gè)問題是有些功能在不同的層一再出現(xiàn)如編址、流量控制、糾錯(cuò)等等。有些功能放在那里很難達(dá)成一致意見如安全性、加密及網(wǎng)絡(luò)管理層很難達(dá)成一致而干脆未包括在內(nèi)。同時(shí)OSI完全忽略了無連接業(yè)務(wù)的相應(yīng)的協(xié)議而這在LAN和演播室局域網(wǎng)中得到了廣泛的應(yīng)用只是后來才加以補(bǔ)充。另一個(gè)嚴(yán)重問題是OSI主要考慮通信而計(jì)算機(jī)世界有相當(dāng)多的不同點(diǎn)。最后在OSI的實(shí)現(xiàn)和政策上都有一些問題。 我們?cè)賮砜匆幌耇CP/IP參考模型如圖1。 本科畢業(yè)論文 ICMP協(xié)議和應(yīng)用研究 6 可以看到其中不存在會(huì)晤

31、層和表述層主要面向連接的網(wǎng)絡(luò)層也被以包交接為基礎(chǔ)的無連接互聯(lián)網(wǎng)絡(luò)層代替稱為互聯(lián)網(wǎng)層數(shù)據(jù)鏈路層和物理層也大大簡(jiǎn)化為主機(jī)到網(wǎng)絡(luò)層Host-To-Network除了指出主機(jī)必須使用能發(fā)送IP包的協(xié)議外并不規(guī)定什么。在互聯(lián)網(wǎng)層中定義了包結(jié)構(gòu)和相應(yīng)的協(xié)議稱為互聯(lián)網(wǎng)協(xié)議IPInternet Protocol主要作用是將IP包送到相應(yīng)的地址。TCP/IP傳送層的作用類似于OSI傳送層的作用是使源和目標(biāo)設(shè)備相互對(duì)話。 TCP/IP定義了兩種端到端協(xié)議第一種是傳輸控制協(xié)議TCPTransmission Control Protocol是可靠的面向連接的協(xié)議能確保拜特流無誤碼從源設(shè)備傳送到互聯(lián)網(wǎng)中的其他設(shè)備。它將

32、輸入拜特流分割成較小的信息并將其每一個(gè)都放入互聯(lián)網(wǎng)層在接收端接收TCP重組所接收的信息還原成原拜特流。TCP還進(jìn)行流量控制確保較高速的發(fā)送端不會(huì)使較低速的接收設(shè)備過載。第二種協(xié)議是用戶數(shù)據(jù)報(bào)協(xié)議UDPUser Datagram Protocol是一個(gè)非確保的無連接協(xié)議用于那些不需要TCP順序和流量控制的應(yīng)用廣泛用于單項(xiàng)數(shù)據(jù)傳輸、服務(wù)器用戶類型的應(yīng)答應(yīng)用。在這些應(yīng)用中即時(shí)傳送比精確傳送更重要典型的應(yīng)用就是語言和視頻傳輸。 2.2 TCP/IP在網(wǎng)絡(luò)中的地位和作用 TCP/IP協(xié)議并不完全符合OSI的七層參考模型。傳統(tǒng)的開放式系統(tǒng)互連參考模型是一種通信協(xié)議的7層抽象的參考模型其中每一層執(zhí)行某一特定

33、任務(wù)。該模型的目的是使各種硬件在相同的層次上相互通信。這7層是:物理層、數(shù)據(jù)鏈路層、網(wǎng)路層、傳輸層、話路層、表示層和應(yīng)用層。而TCP/IP通訊協(xié)議采用了4層的層級(jí)結(jié)構(gòu)每一層都呼叫它的下一層所提供的網(wǎng)絡(luò)來完成自己的需求。這4層分別為應(yīng)用層、傳輸層、互連網(wǎng)絡(luò)層、網(wǎng)絡(luò)接口層。 網(wǎng)際協(xié)議IP是TCP/IP的心臟也是網(wǎng)絡(luò)層中最重要的協(xié)議。IP層接收由更低層網(wǎng)絡(luò)接口層例如以太網(wǎng)設(shè)備驅(qū)動(dòng)程序發(fā)來的數(shù)據(jù)包并把該數(shù)據(jù)包發(fā)送到更高層-TCP或UDP層相反IP層也把從TCP或UDP層接收來的數(shù)據(jù)包傳送到更低層。IP數(shù)據(jù)包是不可靠的因?yàn)镮P并沒有做任何事情來確認(rèn)數(shù)據(jù)包是按順序發(fā)送的或者沒有被破壞。IP數(shù)據(jù)包中含有發(fā)送

34、它的主機(jī)的地址源地址和接收它的主機(jī)的地址目的地址。 圖1 OSI參考模型和TCP/IP參考模型 本科畢業(yè)論文 ICMP協(xié)議和應(yīng)用研究 7 面向連接的服務(wù)例如Telnet、FTP、rlogin、X Windows和SMTP需要高度的可靠性所以它們使用了TCP。 2.3 ICMP的介紹 ICMP是“Internet Control Message Protocol”Internet控制報(bào)文協(xié)議的縮寫是一個(gè)非常重要的協(xié)議它對(duì)于網(wǎng)絡(luò)安全具有極其重要的意義。ICMP消息是隨IP數(shù)據(jù)包一起傳輸?shù)牡撓⒈旧硪彩且环N與IP協(xié)議并行運(yùn)行在網(wǎng)絡(luò)層的協(xié)議。 它是TCP/IP協(xié)議族的一個(gè)子協(xié)議用于在IP主機(jī)、路由器

35、之間傳遞控制消息??刂葡⑹侵妇W(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é)議的。 2.3.1 ICMP協(xié)議報(bào)頭 ICMP消息使用了一種簡(jiǎn)單的數(shù)據(jù)結(jié)構(gòu)其報(bào)頭部分由三個(gè)字段組成作為報(bào)頭第一項(xiàng)的類型type字段占用了一個(gè)字節(jié)用來表示該協(xié)議消息所實(shí)現(xiàn)的功能而占用一個(gè)字節(jié)長度的代碼code字段

36、則用來進(jìn)一步對(duì)消息內(nèi)容進(jìn)行分類。 ICMP協(xié)議報(bào)頭最后一項(xiàng)是兩個(gè)字節(jié)長度的校驗(yàn)和而其后的ICMP消息內(nèi)容則與消息功能有關(guān)但所有消息內(nèi)容中都必須帶有引發(fā)錯(cuò)誤消息和數(shù)據(jù)報(bào)的IP報(bào)頭和前個(gè)字節(jié)而且這些信息足以使其上層協(xié)議對(duì)自己的報(bào)頭進(jìn)行檢查并根據(jù)ICMP消息內(nèi)容來執(zhí)行適當(dāng)?shù)牟僮?。最重要的是ICMP協(xié)議不支持?jǐn)?shù)據(jù)糾錯(cuò)功能該協(xié)議只是通過向數(shù)據(jù)源回送錯(cuò)誤消息來告訴路由錯(cuò)誤。 類型 代碼 名稱 含義 0 * Echo replay 對(duì)ping的回應(yīng) 3 * Destination Unreachable 主機(jī)或路由器返回信息一些包未達(dá)到目的地 0 Net Unreachable 路由器配置錯(cuò)誤或錯(cuò)誤指定IP

37、地址 1 Host Unreachable 最后一個(gè)路由器無法與主機(jī)進(jìn)行ARP通訊 4 * Source Quench Internet 阻塞 5 * Redirect 有人試圖重定向你的默認(rèn)路由器可能Hacker試圖你 進(jìn)行“man-in-middle”的攻擊使你的機(jī)器通過他們的機(jī)器路由。 8 * Echo Request ping 9 * Router Advertisement hacker可能通過重定向你的默認(rèn)的路由器DoS攻擊你的Win9x 或Solaris。鄰近的Hacker也可以發(fā)動(dòng)man-in-the-middle的攻擊 IP 報(bào)頭 類型 代碼 校驗(yàn)和 至少字節(jié) 字節(jié)字節(jié) 字節(jié)

38、 ICMP消息內(nèi)容長度和格式不定 本科畢業(yè)論文 ICMP協(xié)議和應(yīng)用研究 8 11 * Time Exceeded In Transit 因?yàn)槌瑫r(shí)包未達(dá)到目的地 12 * Parameter Problem 發(fā)生某種不正常可能遇到了攻擊 2.3.2 ICMP協(xié)議的消息 為了提前預(yù)防協(xié)議可能引發(fā)的問題ICMP協(xié)議技術(shù)規(guī)范中事先對(duì)消息進(jìn)行了若干限制。比如說規(guī)定一個(gè)ICMP錯(cuò)誤消息不能引發(fā)另一個(gè)ICMP錯(cuò)誤消息。 1) 路由消息 ICMP路由消息大多用于請(qǐng)求得到可使用的路由器的清單或?qū)φ?qǐng)求的應(yīng)答應(yīng)答中包括可用路由器的清單清單中的每個(gè)路由都有優(yōu)先級(jí)別。 一類路由是在路由器過載情況下產(chǎn)生的。如果一個(gè)主機(jī)向

39、路由器發(fā)送過量數(shù)據(jù)或者多個(gè)主機(jī)同時(shí)向路由器發(fā)送大量數(shù)據(jù)都可以導(dǎo)致路由器癱瘓。但是這時(shí)路由器可以向發(fā)送方回送請(qǐng)求減速消息。每當(dāng)路由器無法對(duì)接收的數(shù)據(jù)報(bào)進(jìn)行處理時(shí)路由器就把該數(shù)據(jù)報(bào)丟棄并同時(shí)回送給數(shù)據(jù)源一個(gè)減速消息請(qǐng)求高速傳輸主機(jī)降低發(fā)送速率。收到減速消息的源主機(jī)將逐步降低速率直到錯(cuò)誤消息消失為止然后再逐步提高發(fā)送速率直到錯(cuò)誤消息出現(xiàn)為止。 另一類情況是發(fā)生在向一個(gè)錄由器發(fā)送數(shù)據(jù)報(bào)時(shí)另一個(gè)路由器可借助ICMP消息廣播一個(gè)更好的路由。稱為路由重新定向。 2) 無法到達(dá)消息 ICMP無法到達(dá)的消息表示在對(duì)數(shù)據(jù)報(bào)進(jìn)行尋址過程中尋址失敗而引發(fā)的錯(cuò)誤信息。舉個(gè)簡(jiǎn)單的例子目標(biāo)地址有誤的數(shù)據(jù)報(bào)可以引發(fā)ICMP協(xié)

40、議將無法到達(dá)的消息回送給該數(shù)據(jù)報(bào)的原始發(fā)送主機(jī)。該消息一般用來指出目標(biāo)主機(jī)或網(wǎng)絡(luò)不存在或沒有應(yīng)答。引發(fā)該類錯(cuò)誤消息的主要原因包括主機(jī)處于關(guān)機(jī)狀態(tài)網(wǎng)絡(luò)鏈路故障以及無法使用特定的協(xié)議等。 2.3.3 ping命令 ICMP協(xié)議提供的網(wǎng)絡(luò)工具之一就是網(wǎng)絡(luò)管理員最常使用的ping命令。ping命令可以把一個(gè)ICMP回顯請(qǐng)求發(fā)送給一個(gè)指定的主機(jī)接收該命令的主機(jī)通過回送一個(gè)ICMP回顯應(yīng)答來對(duì)收到的ICMP回顯請(qǐng)求進(jìn)行應(yīng)答。ping命令的目的是測(cè)試主機(jī)是否存在。其實(shí) ping命令是測(cè)試網(wǎng)絡(luò)中兩個(gè)主機(jī)是否可以實(shí)現(xiàn)最低級(jí)別的連通性。 2.3.4 路由跟蹤traceroute 路由跟蹤程序traceroute借

41、助于ICMP TTL超時(shí)消息來巧妙地收集客戶端與服務(wù)器之間的路右信息。該程序可輸出所有參與轉(zhuǎn)發(fā)數(shù)據(jù)包的路由器的名稱以及消息從主機(jī)到該路由器的往返傳輸時(shí)間。 網(wǎng)絡(luò)管理員可借助該工具來對(duì)響應(yīng)速度較慢的連接進(jìn)行診斷通過觀察數(shù)據(jù)包從一個(gè)主機(jī)到另一個(gè)主機(jī)的傳輸路徑有助于幫助管理員確定網(wǎng)絡(luò)瓶頸的具體位置也就是應(yīng)答速度最慢的路由器或不合理的傳輸路徑。 與ping命令類似雖然路由跟蹤程序不能為網(wǎng)絡(luò)管理提供全面解決方案但該工具作為診斷工具來說還是非常有用的。 2.4 利用ICMP惡意攻擊影響網(wǎng)絡(luò)安全 當(dāng)今世界上平均每20秒鐘就有一起黑客事件發(fā)生僅在美國每年造成的經(jīng)濟(jì)損失就超過100億美圓。ICMP協(xié)議對(duì)于網(wǎng)絡(luò)安

42、全具有極其重要的意義。ICMP協(xié)議本身的特點(diǎn)決定了它非常容易被用于攻擊網(wǎng)絡(luò)上的路由器和主機(jī)。服務(wù)拒絕攻擊DoS企圖通過使服務(wù)計(jì)本科畢業(yè)論文 ICMP協(xié)議和應(yīng)用研究 9 算機(jī)崩潰或把它壓跨來阻止提供服務(wù)服務(wù)拒絕攻擊是最容易實(shí)施的攻擊行為。由于在早期的階段路由器對(duì)包的最大尺寸都有限制許多操作系統(tǒng)對(duì)TCP/IP棧的實(shí)現(xiàn)在ICMP包上都是規(guī)定64KB并且在對(duì)包的標(biāo)題頭進(jìn)行讀取之后要根據(jù)該標(biāo)題頭里包含的信息來為有效載荷生成緩沖區(qū)當(dāng)產(chǎn)生畸形的聲稱自己的尺寸超過ICMP上限的包也就是加載的尺寸超過64K上限時(shí)就會(huì)出現(xiàn)內(nèi)存分配錯(cuò)誤導(dǎo)致TCP/IP堆棧崩潰致使接受方當(dāng)機(jī)。這就是所說的“ping of death

43、”現(xiàn)在網(wǎng)絡(luò)上很多號(hào)稱能夠致使系統(tǒng)死機(jī)的軟件都是基于這個(gè)原理我們所熟悉的工具“Winnuke”就是一例。對(duì)路由器而言向Intel Express Switch或其后的主機(jī)發(fā)送一畸形的ICMP包可能導(dǎo)致系統(tǒng)崩。通過本地或遠(yuǎn)程發(fā)送的畸形包能蒙騙服務(wù)器。當(dāng)服務(wù)器收到畸形的ICMP包時(shí)它將繼續(xù)檢查才對(duì)然而它將丟失所有的路由功能而且不將檢查其它連接了。主要影響Intel Express Switch 500 系列。另外Windows也有拒絕服務(wù)漏洞對(duì) Win98 NT4/SP56 Win2K都有影響當(dāng)如上系統(tǒng)受到非法碎片包包含不合法碎片 ICMP ECHOs (pings)和UDP packets 攻擊W

44、indows 系統(tǒng)會(huì)拒絕服務(wù)。直至CPU占用率達(dá)到100%最后系統(tǒng)崩潰。ICMP重定向提供了一種相當(dāng)有效的DoS。不象ARP入口這些特定主機(jī)路由入口永不過期。注意攻擊沒有要求必須從局域網(wǎng)內(nèi)發(fā)起事實(shí)可以從廣域網(wǎng)上發(fā)起。如果子網(wǎng)所用DNS位于網(wǎng)關(guān)外產(chǎn)生一個(gè)到該DNS的錯(cuò)誤路由是很容易的通過在Pwin98 下測(cè)試由ICMP 重定向包產(chǎn)生的路由都是掩碼為55的特定主機(jī)路由沒有辦法產(chǎn)生諸如這樣掩碼下的網(wǎng)絡(luò)路由。此外由ICMP重定向包產(chǎn)生的路由還是會(huì)過期的會(huì)被刪除但耗時(shí)很長。許多桌面操作系統(tǒng)線性搜索自己的路由表如果你利用ICMP重定向包加了太多特定主機(jī)路由到

45、它們的路由表中極其容易造成系統(tǒng)的癱瘓。對(duì)于Unix系統(tǒng)雖然搜索路由表時(shí)不是線性搜索但過多的特定主機(jī)路由會(huì)消耗大量的內(nèi)存空間。 于是就有了海信“設(shè)擂”50萬其欲為何的報(bào)道8月21日海信集團(tuán)在中關(guān)村當(dāng)代商城舉行新聞發(fā)布會(huì)海信“8341防火墻”懸賞“50萬”接受全國及至全球的計(jì)算機(jī)、網(wǎng)絡(luò)界高手檢測(cè)。雖然結(jié)果是沒有人能夠拿到防火墻后面的密碼但是防火墻遭到大量的ICMP攻擊導(dǎo)致防火墻的IP地址ping不通造成大量攻擂者以為海信公司言而無信取消了測(cè)試轉(zhuǎn)而怒牽于海信公司主頁于是8月24日海信集團(tuán)網(wǎng)站被“黑”。海信公司自己提供的防火墻遭攻擊記錄如下 攻擊類型 攻擊次數(shù) 1 ICMP攻擊 334050 2 碎片

46、攻擊 25524 3 端口掃描 4365 4 WEB服務(wù)攻擊 1227 5 UDP攻擊 234 6 拒絕服務(wù)攻擊 12 事實(shí)可以看到造成海信服務(wù)器“拒絕服務(wù)”的絕大多數(shù)攻擊來自于ICMP攻擊。 此外向目標(biāo)主機(jī)長時(shí)間、連續(xù)、大量地發(fā)送ICMP數(shù)據(jù)包也會(huì)最終使系統(tǒng)癱瘓。大量的ICMP數(shù)據(jù)包會(huì)形成“ICMP風(fēng)暴”使得目標(biāo)主機(jī)耗費(fèi)大量的CPU資源處理疲于奔命。 不過對(duì)于防止拒絕服務(wù)攻擊有關(guān)部門也采取了一些相應(yīng)的措施 對(duì)于信息淹沒攻擊我們應(yīng)關(guān)掉可能產(chǎn)生無限序列的服務(wù)來防止這種攻擊。比如我們可以在服務(wù)器端拒絕所有的ICMP包或者在該網(wǎng)段路由器上對(duì)ICMP包進(jìn)行帶寬限制控制其在一定的范圍內(nèi)。 第三章 ICM

47、P部分功能的模擬實(shí)現(xiàn) 本科畢業(yè)論文 ICMP協(xié)議和應(yīng)用研究 10 3.1 背景 3.1.1 ping命令的深入認(rèn)識(shí) ICMP協(xié)議提供的網(wǎng)絡(luò)工具之一就是網(wǎng)絡(luò)管理員最常使用的ping命令。ping命令可以把一個(gè)ICMP回顯請(qǐng)求發(fā)送給一個(gè)指定的主機(jī)接收該命令的主機(jī)通過回送一個(gè)ICMP回顯應(yīng)答來對(duì)收到的ICMP回顯請(qǐng)求進(jìn)行應(yīng)答。 ping命令的目的是測(cè)試主機(jī)是否存在。其實(shí)ping命令是測(cè)試網(wǎng)絡(luò)中兩個(gè)主機(jī)是否可以實(shí)現(xiàn)最低級(jí)別的連通性。 它的格式是 ping <IP主機(jī)名|IP地址> (注:若只用IP主機(jī)名的話則該命令不僅可用來校驗(yàn)兩個(gè)主機(jī)之間的連通性而且還可以測(cè)試本地主機(jī)是否可以對(duì)主機(jī)名正確

48、解析) 例如使用ICMP協(xié)議來進(jìn)行主機(jī)探測(cè) -1ICMP ECHO(Type 8) 和ECHO Reply (Type 0) 我們使用一個(gè)ICMP ECHO數(shù)據(jù)包來探測(cè)主機(jī)地址是否存活當(dāng)然在主機(jī)沒有被配置為過濾ICMP形式通過簡(jiǎn)單的發(fā)送一個(gè)ICMP ECHO(Type 8)數(shù)據(jù)包到目標(biāo)主機(jī)如果ICMP ECHO Reply(ICMP type 0)數(shù)據(jù)包接受到說明主機(jī)是存活狀態(tài)。 如果沒有就可以初步判斷主機(jī)沒有在線或者使用了某些過濾設(shè)備過濾了ICMP 的REPLY。 - | | | - ICMP ECHO request -| | |HOST| -> |HOST| | | | A | -

49、 | B | | | | | 如果存活或者沒有過濾 | | | | - 將返回ICMP RCHO REPLY - | | | - 這種機(jī)制就是我們通常所用的ping命令來檢測(cè)目標(biāo)主機(jī)是否可以ping到。 下面是兩個(gè)LINUX機(jī)器的演示 rootxundi /root# ping PING () from : 56(84) bytes of data. 64 bytes from : icmp_seq=0 ttl=255 time=4.4 ms 64 bytes from : icmp_seq=1 ttl=255 time=5.9 ms 64 bytes from : icmp_seq=2 ttl=255 time=5.8 ms - ping statistics - 3 packets transmitted 3 packets recei

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論