1. 程式人生 > >TCP/IP-ICMP協議

TCP/IP-ICMP協議

ade 並且 發送 .com 分享 圖片 icm -h line

8.1 作用

ip協議沒有提供直接的方法發現那些發往目的地失敗的ip數據包。因此采用internet控制報文協議提供ip協議層配置和ip數據報存執相關的診斷和控制信息。一般認為是ip層的一部分。但是使用ip層進行傳輸,因此是一個介於網絡層和傳輸層之間的協議。

8.1 報文格式

icmp使用網絡層傳出,協議字段為1,表示報文類型為icmpv4.

  1. 8位 類型

  2. 8位 代碼

  3. 16位 校驗和

  4. 依賴於類型和代碼的內容

    可變

校驗和涵蓋一個為頭部,是一個端到端的,每一跳都不會改變。

8.2 查詢報文

目前僅僅是ping在用了。

格式為

技術分享圖片

數據中包含了本地時間的一份拷貝,因此可以估算RTT

8.3 差錯報文

類型代碼描述
0 查詢報文 回顯應答 回顯ping,返回數據
8 查詢報文 回顯請求 ping
3 目的地不可達 0 網絡不可達
1 主機不可達 出現在直接交付時,對端主機沒找到,比如arp失敗
2 協議不可達
3 端口不可達 找到了主機,但是對應端口沒有被監聽
4 需要分片,但是設置了部分偏 MTU包含在生成的差錯報文中
5 源路由失敗,中間跳不可達
5 重定向 0 網絡或子網重定向數據報 路由器收到了一個數據包對應的下一跳並不是自身的包。發送給主機重定向報文,包含下一跳ip地址,並且將報文正確投遞
1 主機重定向
2 服務類型和網絡重定向
3 服務類型和主機重定向
9 0 正常路由通告
11 0 ttl超時
1 分片重組超時
12 0 指針只是差錯,字節偏移量指針指示的第一個問題字段
2 錯誤的總長度字段

8.4 生成條件

一下情況不產生icmp差錯報文

  1. icmp差錯差錯報文

  2. 目的地為廣播或是組播地址的數據報

  3. 鏈路層廣播的數據報

  4. 不是第一片的分片

  5. 源地址不是單個主機地址。也就是說不是0地址,環回地址,廣播組播地址

主要是為了限制生成廣播風暴。

8.5 相關攻擊

icmp相關的攻擊主要分為3類,泛洪、炸彈、信息泄露。

  1. 泛洪

    產生大量流量,對一臺或多太計算機攻擊

  2. 炸彈

    發送經過特殊構造的報文,導致ip或是icmp處理崩潰或是終止

TCP/IP-ICMP協議