最新資訊

ICMP 是協助 IP 協定進行錯誤回報、診斷與控制訊息交換的重要網路層協定,雖不負責實際資料傳輸,卻在網路穩定運作中扮演關鍵角色。

MULTI-CDN
百科學習

ICMP是什麼?ICMP功能、用途與資安風險完整解析

ICMP是什麼?ICMP功能、用途與資安風險完整解析

ICMP 是協助 IP 協定進行錯誤回報、診斷與控制訊息交換的重要網路層協定,雖不負責實際資料傳輸,卻在網路穩定運作中扮演關鍵角色。當封包在網路中遭遇問題,例如目的地無法到達、TTL 時間耗盡或路由異常時,ICMP 會負責發送控制訊息通知來源端,協助排除錯誤或調整傳輸行為。


目錄

➤什麼是ICMP
 ➤ICMP使用案例
 ➤ICMP運作原理
 ➤ICMP的風險與攻擊手法

➤總結:ICMP 的優缺點


什麼是ICMP


 什麼是 ICMP 網際網路控制訊息通訊協定 (Internet Control Message Protocol, ICMP) 是 OSI 模型層中位於第三層 (Layer 3 網路層) 的通訊規則,是 IP 協定的重要輔助元件。

 網路裝置會使用這些規則來診斷並傳達網路中的資料傳輸錯誤,像是傳送者和接收者的訊息交換中發生的非預期錯誤,比如訊息過長或封包順序錯亂導致接收端無法重組資料,此時接收者就會使用 ICMP 通知傳送者訊息錯誤並要求重新傳送訊息。

 ICMP 的主要工作不是傳輸資料,而是回報錯誤診斷網路狀況協助控制資料流動,同時 ICMP 也會確定數據是否在正確的時間抵達目的,這讓 ICMP 成為錯誤報告和網路傳輸資料測試的重要環節。

 舉例來說,當我們在終端機使用 ping 測試設備是否可連線,實際上背後就是透過 ICMP 的 echo-request 和 echo-reply 封包來進行回應

ICMP的用途包括:

  • 回報封包傳輸錯誤 (如目的地無法到達)

  • 提供網路診斷功能 (如 ping)

  • 協助路由器與主機進行網路路徑最佳化建議 (如 redirect 訊息)


ICMP使用案例


 ICMP 是電腦網路中不可或缺的網路層協定,它提供了一套標準方式,讓網路設備可以回報連線狀況、錯誤訊息或其他網路相關的狀態資訊,無論是路由器還是一般終端裝置,只要連上網路,都能處理 ICMP 訊息,且 ICMP 目前已支援 IPv4 和 IPv6,能夠適用於各種現代網路環境,在 IPv6 網路中,ICMPv6 甚至擔負了更多功能,包括路由器通告、位址解析等。

以下幾個是常見的 ICMP 實務應用案例。


錯誤報告

ICMP 可以報告網路中的錯誤,比如無法順利抵達目的、逾時或封包分段問題,這個訊息對於無連線通訊模型的使用者資料包協定(User Datagram Protocol, UDP)尤為重要。

※傳送 UDP 封包時,可能會遺失封包或傳遞封包檢查碼等錯誤,若發生此狀況,接收者就會發送 ICMP 錯誤訊息回傳給傳送者通知問題。


診斷

我們可以用 ICMP 進行網路診斷,ICMP 最常用於 Ping 和路徑追蹤命令。

Ping 用來測試目標裝置是否可連線,會發送 ICMP echo-request 請求並等待 echo-reply 回應,以確認設備可用性與延遲情況。路徑追蹤則利用逐步遞減的 TTL 值 (存活時間Time To Live),讓每個途中經過的路由器回傳 ICMP 訊息,藉此顯示封包從來源到目的地的完整路徑,有助於分析網路效能與問題位置。


網路安全

ICMP 可用來偵測非法網路流量,並確保只允許合法封包通過,防火牆可根據 ICMP 類型來判斷是否允許或封鎖該流量,網管人員也常用 ICMP 工具來監控裝置狀態、連線情況,甚至發現未知或可疑設備。

此外,異常的 ICMP 流量模式也可能是未經授權活動的警訊,有助於早期偵測資安威脅。


流量控管與路由優化

除了錯誤回報和診斷用途,ICMP 也能用來協助路由器進行流量調整與路由優化,例如 ICMP Redirect 訊息可告知主機改用更佳的下一跳路由器,幫助網路節點動態調整傳輸路徑,以提升整體傳輸效率。

※注意:ICMP Redirect 若未妥善控管,亦可能被攻擊者濫用來誘導流量到惡意節點。


存活監測

ICMP 也可作為設備存活監測的工具。

許多企業或資料中心的監控系統會定期對伺服器或網路設備發送 ICMP echo 請求(Ping),若在一定時間內未收到回應,即視為設備異常或離線,可自動觸發告警或啟用備援機制。


防火牆與網管政策調整依據

透過分析 ICMP 回應類型與頻率,網路管理員可以針對特定異常來調整防火牆規則、重新配置網路結構,或排除 MTU(最大傳輸單元) 設定錯誤、路由環境環節等問題。


滲透測試與弱點掃描工具常用

許多滲透測試工具會用 ICMP Ping 或 Ping Sweep 掃描整個網段,以探測哪些主機在線。

資安團隊可利用這些工具進行合法內網盤點、弱點評估,反之攻擊者也可能用此技術預先繪製攻擊地圖,因此在防禦策略中需妥善管理 ICMP 回應行為。


ICMP運作原理


 ICMP 不是用來傳輸資料的協定,而是協助 IP 協定在資料傳輸時進行的錯誤回報、診斷與控制資訊的交換,當網路中的裝置 (如路由器或主機)遇到資料傳遞問題時,就會透過 ICMP 傳送「控制訊息」給來源端,以便調整後續行為或偵錯。

ICMP的運作方式會像這樣:

  1. A 主機想要 ping B 主機
    → A 會發出一個 ICMP echo-request 封包。

  2. 如果 B 成功收到封包,就會回應一個 echo-reply。

  3. 若 B 不存在,或途中封包超過 TTL(存活時間Time To Live) 時間,則會有其他裝置 (如路由器)發送對應的 ICMP 訊息回給 A 主機。

 這整個過程就像是郵差投遞信件時,若找不到地址或投遞過久,就會有一封「退信通知」送回給寄件人,讓對方知道問題發生在哪裡。

 ICMP 的這種設計讓網路系統可以自動通報錯誤與協調調整,對於維持資料傳輸的效率和穩定性是非常重要的存在,不過這種特性也可能會被攻擊者惡意利用進行 DDoS 攻擊。


ICMP的風險與攻擊手法


 雖然 ICMP 是網路診斷與錯誤回報的重要工具,但也因為 ICMP 不須建立連線且回應機制單純的特性,成為許多駭客與攻擊者利用的漏洞之一!因此若缺乏適當的防護措施,ICMP 封包可能會被用來進行 DDoS攻擊。


ICMP Flood 攻擊/ ICMP 洪水攻擊

攻擊者會大量發送 ICMP echo-request 封包,導致目標主機需要不斷的處理和回應封包,占用 CPU、記憶體與頻寬資源,最終導致服務中斷,成為網路層常見的 DDoS 攻擊手法之一。

風險:

  • 被攻擊主機處理 ICMP 回應導致資源耗盡

  • 正常使用者無法順利連線

  • 無狀態協議使得來源難以驗證

ICMP洪水攻擊

延伸閱讀:【DDoS攻擊】ICMP 洪水攻擊是什麼?原理、情境比喻與防禦方法


Smurf 攻擊

Smurf 攻擊是一種放大式攻擊,攻擊者會將 ICMP echo-request 封包來源 IP 偽造成目標主機,並發送給網路區段內的 IP 廣播地址,造成大量設備同時對目標主機回應,形成 Smurf 反射式洪水攻擊。

※ 現代作業系統與路由器大多已預設禁用對廣播地址的回應,因此防範 Smurf 攻擊的效果已大幅提升,但仍應加以驗證。

風險:

  • 攻擊封包經過放大後更具威脅性

  • 被反射設備無從得知自己已被利用

  • 攻擊難以追蹤來源

延伸閱讀:【DDoS攻擊】Smurf 攻擊是什麼?原理、情境比喻與防禦方法


Ping of Death (死亡之 Ping)

這種攻擊方式是將 ICMP 封包故意構造為超過正常大小,藉此觸發目標系統的緩衝區溢位漏洞,使其當機或重新啟動。

風險:

  • 老舊系統可能無法處理過大封包

  • 容易造成服務崩潰或系統宕機


ICMP 用於網路偵測與探測

攻擊者經常使用 ICMP 掃描、探測目標主機是否存在、是否開啟回應服務,這個方式有助於後續進行攻擊規劃。

風險:

  • 洩漏內部網路架構

  • 揭露設備存活狀態與可用資源

  • 增加社交工程或入侵成功率


企業是否應重視 ICMP 防護?

ICMP 攻擊雖然看起來很簡單,但在大規模和自動化工具加上網路殭屍的配合,仍可能造成相當的傷害,許多企業和政府單位也會針對 ICMP 封包進行限制,例如以下。

  • 停用 ICMP echo 回應 (無法被 ping)

  • 使用防火牆或 IDS/IPS 監控 ICMP 封包異常

  • 限制 ICMP 封包頻率與大小

  • 封鎖廣播 ICMP 封包以防 Smurf 攻擊


總結:ICMP 的優缺點


 ICMP 在電腦網路中的角色有優點也有缺點,一方面 ICMP 是網路診斷與錯誤回報基礎的工具另一方面 ICMP 卻也可能成為攻擊者有機可乘的缺口之一。ICMP 本身不是威脅,但不當配置卻可能成為威脅的入口。

 ICMP 為網路設備提供了即時、標準化的溝通機制,大幅提升網路管理效率與透明度,對網路管理員來說,ICMP是不可或缺的協助工具,而對系統監控來說,ICMP 提供了判斷設備連線狀態的關鍵依據。

 不過同時,也因為 ICMP 協定的回應機制簡單、驗證機制薄弱的缺點,導致攻擊者會利用這些特性來發動 DDoS 攻擊,如 ICMP 洪水攻擊 或 Smurf 等攻擊手法,若沒有妥善控管,這將會讓網路暴露在潛在的 DDoS 或掃描偵測風險中。

 因此,ICMP 的使用應在診斷效能與資安風險之間取得平衡,企業與管理者應視實際需求,制定合適的 ICMP 防護政策,例如限制特定類型的 ICMP 封包、配置 WAF 或 IDS 進行流量監控、避免開放廣播地址回應等,確保既能有效管理網路,又不讓 ICMP 成為攻擊破口。



參考資料:
AWS|什麼是 ICMP?
Cloudflare|什麼是網際網路控制訊息通訊協定 (ICMP)?

延伸閱讀:
TCP是什麼?TCP 工作原理與 TCP 常見的 DDoS攻擊
UDP 是什麼?UDP 工作原理與 UDP常見的 DDoS攻擊
DDoS攻擊原理解析!如何防禦DDoS攻擊
哪些網站或系統容易被DDoS攻擊?容易被DDoS攻擊的網站類型風險與防禦

返回上頁