全部產品
Search
文件中心

Elastic Compute Service:Linux系統中TCP/UDP連接埠測試方法

更新時間:Mar 21, 2025

本文介紹在Linux系統的ECS執行個體中,如何測試TCP和UDP連接埠的連通性。

測試TCP連接埠連通性

請根據您待測試連接埠的目前狀態,選擇合適的方案:

方法一:使用Telnet測試已有監聽連接埠

  1. 遠端連線到Linux系統執行個體。

    具體操作,請參見使用Workbench工具以SSH協議登入Linux執行個體

  2. 執行以下命令,使用Telnet工具測試連接埠的連通性。

    例如,測試伺服器121.11.XX.XX1234連接埠連通性時,可執行sudo telnet 121.11.XX.XX 1234

    # 請替換[$Host]為目標伺服器IP地址、[$Port]為待測試連接埠號碼。
    sudo telnet [$Host] [$Port]

    若成功串連,系統會返回類似如下資訊。不同Linux系統內容下,顯示可能有所不同,但通常若包含 Connected to ...資訊,則說明串連成功。

    說明

    如果連接埠未測通,請確認目標伺服器的安全性群組是否放通測試連接埠,若未放通,則需添加對應的安全性群組規則,操作請參見添加安全性群組規則

    Trying 121.11.XX.XX...
    Connected to 121.11.XX.XX.
    Escape character is '^]'.

方法二:建立新的監聽連接埠測試

您需要準備兩台執行個體,一台作為服務端,一台作為用戶端,測試時,測試的是服務端中的連接埠連通性。

  • 服務端:待建立新監聽連接埠並測試其連通性的伺服器。

  • 用戶端:通過串連服務端的連接埠,協助測試使用的伺服器。

  1. 遠端連線到Linux系統執行個體。

    具體操作,請參見使用Workbench工具以SSH協議登入Linux執行個體

  2. 在服務端中,執行以下命令,確認是否安裝Python及Python版本。

    python -V
    • 若系統顯示Python版本資訊,則說明Python已安裝。

    • 若未安裝,請參見部署Python環境安裝Python。

  3. 在服務端中,執行以下命令,使用Python內建的Web伺服器臨時建立新的監聽連接埠。

    例如,使用Python 3.x建立新的監聽連接埠1234時,可執行sudo python3 -m http.server 1234

    • Python 2.x

      # 請替換[$Port]為待測試連接埠號碼。
      sudo python -m SimpleHTTPServer [$Port]
    • Python 3.x

      # 請替換[$Port]為待測試連接埠號碼。
      sudo python3 -m http.server [$Port]

    系統會返回類似如下資訊。

    Serving HTTP on 0.0.0.0 port 1234 ...
    說明

    在用戶端測試完成後,按Ctrl+C鍵終止進程。

  4. 在用戶端中,執行以下命令,使用Telnet工具測試服務端新監聽連接埠的連通性。

    例如,測試服務端121.11.XX.XX1234連接埠連通性時,可執行sudo telnet 121.11.XX.XX 1234

    # 請替換[$Host]為服務端IP地址、[$Port]為待測試連接埠號碼。
    sudo telnet [$Host] [$Port]

    若成功串連,系統會返回類似如下資訊。不同Linux系統內容下,顯示可能有所不同,但通常若包含 Connected to ...資訊,則說明串連成功。

    說明

    如果連接埠未測通,請確認服務端的安全性群組是否放通測試連接埠,若未放通,則需添加對應的安全性群組規則,操作請參見添加安全性群組規則

    Trying 121.11.XX.XX...
    Connected to 121.11.XX.XX.
    Escape character is '^]'.

測試UDP連接埠連通性

您需要準備兩台執行個體,一台作為服務端,一台作為用戶端,測試時,測試的是服務端中的連接埠連通性。

  • 服務端:待測試UDP連接埠連通性的伺服器。

  • 用戶端:通過串連服務端的連接埠,協助測試使用的伺服器。

  1. 遠端連線到Linux系統執行個體。

    具體操作,請參見使用Workbench工具以SSH協議登入Linux執行個體

  2. 分別在服務端和用戶端執行個體執行以下命令,檢查系統是否安裝了nc程式。

    which nc

    若系統返回類似如下,則說明已安裝nc程式。

    /usr/bin/nc
    說明

    如果未安裝nc程式,您可以根據作業系統的不同,使用yum或apt-get等工具進行安裝。例如sudo yum install -y nc

  3. 在服務端中,執行以下命令,監聽某個需要測試的連接埠。

    例如,測試3333連接埠連通性時,可執行sudo nc -uvlp 3333

    # 請替換[$Port]為待測試連接埠號碼。
    sudo nc -uvlp [$Port]

    若成功串連,系統會返回類似如下資訊。

    Ncat: Version 7.92 ( https://nmap.org/ncat )
    Ncat: Listening on :::3333
    Ncat: Listening on 0.0.0.0:3333
  4. 在用戶端中,執行以下命令,串連服務端需要測試的連接埠。

    例如,串連服務端111.22.XX.XX3333連接埠時,可執行sudo nc -u 111.22.XX.XX 3333

    # 請替換[$Host]為服務端IP地址、[$Port]為待測試連接埠號碼。
    sudo nc -u [$Host] [$Port]
  5. 串連成功後,在用戶端中輸入測試字元,例如test,如果服務端同步收到資料,則說明連接埠連通性正常。

    說明

    如果連接埠未測通,請確認服務端的安全性群組是否放通測試連接埠,若未放通,則需添加對應的安全性群組規則,操作請參見添加安全性群組規則

    image

    image