百科學習

2025-07-02

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

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

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

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攻擊的網站類型風險與防禦

Previous:【DDoS攻擊】Smurf 攻擊是什麼?原理、情境比喻與防禦方法|Skycloud

Next:【DDoS 攻擊】對遊戲產業的影響與損失|最新統計與防禦建議|Skycloud

SkyCloud Offers Free Trials

Activate When Ready!

check-black Experience fast, secure, and reliable service.

check-blackTest first, decide later. Zero risk.

We invite you to experience our superior performance firsthand. Discover SkyCloud's speed, reliability, and flexibility. Test it out, and activate only when you are satisfied.

background imagebackground image