什麼是 ICMP?
網際網路控制訊息協定 (ICMP) 是一組通訊規則,裝置使用這些規則來傳達網路中的資料傳輸錯誤。在傳送者與接收者之間的訊息交換中,可能會發生某些非預期的錯誤。例如,訊息可能太長,或者資料封包可能不按順序抵達,因此接收者無法對其組合。在這種情況下,接收者使用 ICMP 通知傳送者錯誤訊息,並要求重新傳送訊息。
什麼是 ICMP 使用案例?
網際網路控制訊息協定 (ICMP) 是電腦聯網中重要的網路層協定。它為網路裝置提供了標準化機制,用於傳達連線能力和網路狀態等重要資訊。連線至網路的所有裝置 (包括路由器和端點裝置) 都能處理 ICMP 訊息。ICMP 已經過調整適用於 IPv4 和 IPv6。
接下來,我們討論一些常見的 ICMP 使用案例。
錯誤報告
「ICMP 錯誤」訊息報告網路錯誤,例如無法到達目的地、逾時或分散問題。該訊息對於具有無連線通訊模型的使用者資料包協定 (UDP) 尤其重要。
UDP 不提供可靠、有序的封包傳遞。傳送 UDP 封包時,可能會遺失封包,或是可能會傳遞總和檢查碼等錯誤。如果發生此情況,接收者會將 ICMP 錯誤報告訊息回傳給傳送者以通知問題。
診斷
您可以使用 ICMP 進行網路診斷。它最常用於 Ping 和路徑追蹤命令。
Ping 命令會將 ICMP 回應請求傳送至目標裝置,以測試網路裝置的連線能力。如果裝置可連線,則會傳回 ICMP 回應回覆。它會可靠地檢查網路延遲並確保裝置可用。
路徑追蹤命令可追蹤封包從來源到目的地所經過的路徑。為此,該命令會將回應請求和回應回覆訊息傳送至預期目的地。
回應請求包含存留時間 (TTL) 值,每次封包通過路由器時,會減少一個值。當封包到達路由器且 TTL 為零時,路由器會將 ICMP 訊息回傳給來源。
該訊息包含封包所採取路由的相關資訊。路徑追蹤會顯示封包的確切路徑,這可為您提供網路效能洞察。
網路安全
您可以使用 ICMP 來偵測未經授權的網路流量,並且僅允許網路上的合法流量。防火牆會使用 ICMP 來允許或封鎖特定類型的流量。網路管理員還會使用 ICMP 監控工具,來追蹤網路裝置的狀態和連線能力,並偵測未知裝置。
此外,您還可以使用它來發現可能指示未經授權活動的異常流量模式。
ICMP 如何運作?
網際網路控制訊息協定 (ICMP) 通常與其他網路協定搭配使用,如 TCP/IP 或使用者資料包協定 (UDP)。發生特定網路事件時,主機和路由器會交換 ICMP 訊息或 ICMP 封包。
ICMP 封包由 ICMP 封包標頭及 ICMP 資料區段組成。
ICMP 封包標頭
ICMP 標頭包含有關封包類型、其程式碼、總和檢查碼及識別符等資訊。當傳送 ICMP 封包時,訊息接收者會讀取標頭資訊。根據封包的類型,它會採取適當的措施。
例如,如果類型是回應請求,則接收者傳送具有相同資料的回應回覆。如果類型是無法到達的目的地,則接收者會以「無法到達目的地」訊息做出回覆。
ICMP 資料區段
ICMP 訊息中的資料區段包括目的地 IP 地址或失敗原因等資訊。它還包含錯誤代碼,或者可識別錯誤的數字代碼。
以下是一些範例:
- 無法到達目的地 (Type 3) 代碼指示,接收者裝置在網路上不存在
- 重新導向 (Type 5) 代碼會將訊息傳送至另一個路由器,指示到目的地的更佳路由
- 回應請求和回應回應 (Types 8 和 10) 代碼會測試裝置之間的連線能力
- 「超過時間」訊息顯示封包超過其到達目的地的時間上限
- 「參數問題」訊息會在路由器遇到 IP 欄位標頭問題時指示
- 當路由器遇到擁塞並需要限制其接收的封包數量時,就會傳送「來源抑制」訊息
ICMP 和 TCP 有何區別?
TCP 是一種連線導向型協定,可提供可靠、檢查錯誤的資料傳遞。它通常用於 Web 瀏覽、電子郵件、遠端登入和檔案傳輸應用程式。TCP 需要交握,這是在傳送者與接收者之間建立信任和進行身分驗證的一系列訊息。TCP 可保證訊息傳遞。
相較之下,網際網路控制訊息協定 (ICMP) 是一種無連線協定。它不保證訊息傳遞。由於 ICMP 僅用於錯誤報告,因此 ICMP 訊息也比 TCP 封包小。
ICMP 和 TCP 可結合使用,以確定 TCP 傳遞失敗的原因。
什麼是 ICMP Ping 泛洪攻擊?
網際網路控制訊息協定 (ICMP) Ping 泛洪攻擊是拒絕服務 (DoS) 事件,其中未經授權的使用者會在短時間內傳送多個 ICMP 回應請求。每個 ICMP 請求均包含不重複的識別符和資料承載,需要接收者進行不重複的回應。接收伺服器會嘗試回應每個未經授權的請求,這會延遲或減慢對授權來源的回應。
為了防範 ICMP Ping 泛洪攻擊,您應確保網路的裝置設定為限制其願意接受的 ICMP 流量。同樣重要的是監控您的網路是否有未經授權的活動,並採取必要的安全措施,例如防火牆和入侵偵測系統 (IDS)。
AWS 如何加強對 DDoS 事件的防護?
Amazon Web Services (AWS) 提供 AWS Shield,協助您更好地防範分散式拒絕服務 (DDoS) 事件。
AWS Shield 是一種受管 DDoS 保護服務,可保護在 AWS 上執行的應用程式不受攻擊。它可提供動態的偵測和自動化內嵌防禦功能,可最大限度地減少應用程式停機時間和延遲。AWS Shield 包括自動化緩解技術,可防範所有類型的網路安全事件。
您可以受益於 AWS Shield 的諸多功能:
- 在特定層自動清除未經授權的流量
- 將應用程式停機時間和延遲降至最低
- 監控並保護多達 1,000 種資源類型
- 根據應用程式流量模式進行量身定製的偵測
立即建立帳戶,開始使用 DDoS 防護。