全部產品
Search
文件中心

Elastic Container Instance:使用tcpdump抓包分析網路問題

更新時間:Oct 23, 2025

ECI支援一鍵開啟tcpdump功能,用於捕獲和解析網路資料包,協助您監視和分析網路流量。本文介紹如何開啟tcpdump,以便在容器出現網路異常時,抓取網路報文,分析定位問題。

背景資訊

容器出現網路異常時,您可能需要抓取網路報文來分析定位問題,但實際操作時可能會碰到以下問題:

  • 抓包需要使用exec進入容器,但網路異常時,容器不一定處於運行狀態,您可能無法使用exec進入容器。

  • 抓包需要使用tcpdump工具,但容器的rootfs內可能沒有預裝tcpdump工具。

為解決上述問題,ECI支援一鍵開啟tcpdump功能。該功能的邏輯如下:

tcpdump

使用限制

以下地區暫不支援tcpdump:華北6(烏蘭察布)、華南2(河源)、華南3(廣州)、華東5 (南京-本地地區-關停中)、菲律賓(馬尼拉)、韓國(首爾)、泰國(曼穀)、馬來西亞(吉隆坡)。

操作步驟

您可以通過Elastic Container Instance控制台或者OpenAPI來使用tcpdump功能。

控制台

  1. 登入Elastic Container Instance控制台

  2. 為ECI執行個體開啟tcpdump。

    1. 單擊目標執行個體ID,開啟執行個體詳情頁面。

    2. 單擊營運頁簽,然後選擇Tcpdump頁簽。

    3. 單擊開啟

    4. 根據需要設定參數,然後單擊確定

      參數說明如下:

      參數

      描述

      可設定要抓包的源端IP地址或IP網段,以及對應連接埠。

      目的

      可設定要抓包的目的端IP地址或IP網段,以及對應連接埠。

      網卡

      選擇要抓包的網卡。

      • 長度:設定資料包的抓取長度。預設為65535位元組。

      • 數量:設定資料包抓取的目標個數。

      • 持續時間長度:設定抓取資料包的時間長度。單位為秒。

      網路通訊協定

      選擇網路通訊協定。支援TCP、UDP和ICMPv4。

      開啟tcpdump後,系統將開始抓包,並產生一個對應的營運任務,任務的狀態為運行中

  3. 根據需要對目標ECI執行個體進行調試,然後關閉tcpdump。

    關閉tcpdump後,系統將停止抓包,並產生相應的資料包檔案,儲存到OSS中。關閉方式如下:

    關閉方式

    說明

    手動關閉

    在目標執行個體的Tcpdump頁簽下,單擊關閉

    自動關閉

    如果在開啟tcpdump時,設定了包長度、包數量、持續時間長度等參數限制資料包大小、抓取時間等,則系統將在滿足某一限制條件時,自動關閉tcpdump。

  4. 單擊營運任務對應結果列中的下載,下載資料包檔案到本地。

    說明

    如果下載沒有反應,請檢查瀏覽器的網站使用權限設定。更多資訊,請參見常見問題

OpenAPI

  1. 調用CreateInstanceOpsTask,為ECI執行個體開啟tcpdump。

    開啟tcpdump時,需設定以下參數:

    • ContainerGroupId:指定目標ECI執行個體。

    • OpsType:設為tcpdump

    • OpsValue:設為{"Enable":true}

      說明

      OpsValue為tcpdump類型的營運任務的參數集合,格式是JSON格式的字串,您可以根據需要設定源端地址、目的端地址、網卡、資料包相關參數。更多關於OpsValue的配置,請參見CreateInstanceOpsTask

  2. 根據需要對目標ECI執行個體進行調試,然後關閉tcpdump。

    關閉tcpdump後,系統將停止抓包,並產生相應的資料包檔案,儲存到OSS中。關閉方式如下:

    關閉方式

    說明

    手動關閉

    調用CreateInstanceOpsTask關閉tcpdump,需設定以下參數:

    • ContainerGroupId:指定目標ECI執行個體。

    • OpsType:設為tcpdump

    • OpsValue:設為{"Enable":false}

    自動關閉

    如果在開啟tcpdump時,OpsValue中設定了Snaplen、Duration、PacketNum、FileSize等參數限制資料包大小、抓取時間等,則系統將在滿足某一限制條件時,自動關閉tcpdump。

  3. 下載資料包檔案。

    1. 調用DescribeInstanceOpsRecords,從返回資訊的ResultContent中擷取資料包檔案儲存地址。

      資料包檔案儲存在OSS中,地址樣本:http://eci-ops-files-cn-beijing.oss-cn-beijing.aliyuncs.com/pcaps/1609****/eci-2ze6n7kqdici********-eth0-****.pcap?Expires=****&OSSAccessKeyId=****&Signature=****&security-token=****

    2. 訪問資料包檔案儲存地址,下載資料包檔案到本地。

常見問題

開啟tcpdump抓取網路資料包後,在控制台下載資料包檔案沒有反應,怎麼辦?

如果下載沒有反應,請檢查瀏覽器的網站使用權限設定。例如Chrome瀏覽器可以參考以下方式開啟許可權:

  1. 開啟Elastic Container Instance控制台,單擊瀏覽器地址欄前面的瀏覽器表徵圖表徵圖,選擇網站設定瀏覽器設定1

  2. 將配置項不安全內容改為允許瀏覽器設定2