icmp報文
icmp應用
icmp安全性
icmp的兩級封裝
更加詳細地看一下資料報的格式吧。用來傳送icmp 報文的ip 資料報上實際上有不少字段。但是實際上與icmp 協議相關的只有7 個子段。
1)協議;2)源ip 位址;3)目的ip 位址;4)生存時間;這四個包含在ip 首部的字段。
5)型別;6)**;7)選項資料;這三個包含在icmp資料部分的字段。
這裡面,1)協議字段值是1。2)和3)是用來交流icmp 報文的位址資訊,沒有特殊意義。對於理解icmp 本身,重要的是5),6),7)三個字段。這裡面的可以稱為核心的重要欄位是5)型別,6)**這兩個字段。所有icmp 用來交流錯誤通知和資訊詢問的報文,都是由型別和**的組合來表示的。rfc 定義了15種型別。「報文不可到達」這樣的錯誤通知和「回送請求」這樣的資訊查詢是由型別欄位來區分的。icmp報文由型別來表達它的大概意義,需要傳遞細小的資訊時由**來分類。進一步,需要向對方傳送資料的時候,用7)選項資料字段來放置。
可能的訊息列表:
icmp差錯報文
報告ip資料報在傳輸中的差錯是icmp報文最基本的功能,icmp差錯報文有如下特點:
icmp差錯報文都是由路由器傳送到源主機的,因為ip資料報中含有源主機的ip位址,報告給源主機是最可行的方案,另外,發出ip資料報的源主機最需要知道資料是否到達目標主機。
icmp差錯報文只提供ip資料報在傳輸過程中的差錯報告,並不規定對各類差錯應採取什麼樣的處理措施。具體對差錯的處理,由收到icmp差錯報文的源主機將相應的差錯與應用程式聯絡起來才能進行相應的差錯處理。
icmp差錯報文不享受任何優先權,也沒有特別的可靠性保證措施,與普通的ip資料報一樣進行傳輸,傳輸過程中可能被丟失、損壞,甚至被拋棄。
icmp差錯報文是伴隨著拋棄出錯的ip資料報而產生的。
當路由器傳送乙份引數錯誤等的icmp差錯報文時,icmp報文資料區始終包含產生icmp差錯報文的ip資料報的頭部和其資料區的前8個位元組(64位)。
在有些情況下,為了防止在網路中產生大量的icmp差錯報文(廣播風暴),影響網路的正常工作,即使發生差錯,也不會產生icmp差錯報文,這些情況包括:
●icmp報文發生差錯。這是為了避免差錯報文無休止產生而規定的(但icmp查詢報文可能會產生icmp差錯報文)。
●目的位址是廣播位址或多播位址(d類位址)的ip資料報。
●作為鏈路層廣播的資料報。
●不是ip分片的第一片。
●源位址不是單個主機的資料報。這就是說,源位址不能為零位址、回送位址、廣播位址或多播位址。
icmp控制報文
擁塞控制與源站抑制報文當乙個路由器接收ip資料報的速度比其處理ip資料報的速度快,或乙個路由器傳入資料報的速率大於傳出資料報的速率時,就會產生擁塞(congestion)現象。 這時路由器可以通過傳送源站抑制(sourcequench)報文來抑制源主機傳送ip資料報的速率,避免可能產生的差錯。
源站抑制報文的型別欄位為4,**字段只能為0。源站抑制技術進行擁塞控制的方法如下:
(1) 當路由器發生擁塞時,便發出icmp源站抑制報文。擁塞的判別可以用三種方法:一是檢查路由器快取區是否已滿;二是給快取區輸出佇列設定乙個閾值,判斷佇列中資料報的個數是否超過閾值;三是檢測某輸入線路的傳輸率是否過高。
(2) 源主機收到抑制報文後,按一定的速率降低發往目標主機的資料報傳輸率。
(3) 如果在一定的時間間隔內源主機沒有收到抑制報文,便認為擁塞已解除,源主機可以逐漸恢復到原來資料報的流量。
路由控制與重定向報文假如源主機要向目標主機傳送ip資料報,源主機的預設路由是路由器1,則源主機先把ip資料報送到路由器1,再由路由器1進行路由選擇。路由器1經過選路後,把ip資料報送到路由器2。 同時路由器1也發現源主機要傳送到目標主機的ip資料報以後可以直接傳送到路由器2(因為路由器1和路由器2同在乙個網路中),則路由器1向源主機傳送乙個icmp重定向報文,告訴它可以直接把ip資料報送到路由器2。這樣,就使源主機始終保持著乙個動態的、既小且優的路徑表
ping這個單詞源自聲納定位,而這個程式的作用也確實如此,它利用icmp協議包來偵測另乙個主機是否可達。原理是用型別碼為0的icmp發請求,受到請求的主機則用型別碼為8的icmp回應。ping程式來計算間隔時間,並計算有多少個包被送達。使用者就可以判斷網路大致的情況。我們可以看到, ping給出來了傳送的時間
tracert(trace route的縮寫)是路由跟蹤實用程式,用於確定 ip 資料報訪問目標所採取的路徑。tracert 命令用 ip 生存時間 (ttl) 欄位和icmp 錯誤訊息來確定從乙個主機到網路上其他主機的路由。
應對措施:對於「ping of death」攻擊,可以採取兩種方法進行防範:
第一種方法是在路由器上對icmp資料報進行頻寬限制,將icmp占用的頻寬控制在一定的範圍內,這樣即使有icmp攻擊,它所占用的頻寬也是非常有限的,對整個網路的影響非常少;
第二種方法就是在主機上設定icmp資料報的處理規則,最好是設定拒絕所有的icmp資料報。
icmp洪水攻擊
應對措施:
附錄:超詳細的icmp介紹
ICMP協議分析
1 了解icmp的基本概念。2 利用wireshark分析由ping以及tracert捕獲的資料報,了解二者的異同點。3 學會利用wireshark捕獲含有icmp協議的資料報。工具 wireshark 操作機 windows xp 對於icmp協議來說,我們接觸最多的莫過於ping這款工具了,pi...
ICMP協議和ICMP協議
一 icmp協議 因為ip協議不提供可靠的傳輸服務,也不提供端到端或點到點的確認,如果出錯可以通過icmp報告來看,它是在ip模組中實現。tcp ip協議設計的icmp協議就是為了彌補ip協議的不足。它是tcp ip協議族的乙個子協議,用於在ip主機 路由器之間傳遞控制訊息。控制訊息指網路通不通 主...
ICMP協議及其抓包分析
internet訊息控制協議 icmp 指定了多種訊息型別,其目的就是管理網路。icmp的訊息分為錯誤資訊 請求資訊和響應訊息。一般icmp資料報格式 icmp資料報型別欄位和 字段 wireshark抓包分析 資料鏈路層 網路層 1.響應請求 ping命令 響應請求 type 8 和應答請求 ty...