本文介紹在Linux系統的ECS執行個體中,如何測試TCP和UDP連接埠的連通性。
測試TCP連接埠連通性
請根據您待測試連接埠的目前狀態,選擇合適的方案:
如果待測試的連接埠已被監聽,可選擇方法一:使用Telnet測試已有監聽連接埠。
如果待測試的連接埠未被監聽,可選擇方法二:建立新的監聽連接埠測試。
方法一:使用Telnet測試已有監聽連接埠
遠端連線到Linux系統執行個體。
具體操作,請參見使用Workbench工具以SSH協議登入Linux執行個體。
執行以下命令,使用Telnet工具測試連接埠的連通性。
例如,測試伺服器
121.11.XX.XX的1234連接埠連通性時,可執行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 '^]'.
方法二:建立新的監聽連接埠測試
您需要準備兩台執行個體,一台作為服務端,一台作為用戶端,測試時,測試的是服務端中的連接埠連通性。
服務端:待建立新監聽連接埠並測試其連通性的伺服器。
用戶端:通過串連服務端的連接埠,協助測試使用的伺服器。
遠端連線到Linux系統執行個體。
具體操作,請參見使用Workbench工具以SSH協議登入Linux執行個體。
在服務端中,執行以下命令,確認是否安裝Python及Python版本。
python -V若系統顯示Python版本資訊,則說明Python已安裝。
若未安裝,請參見部署Python環境安裝Python。
在服務端中,執行以下命令,使用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鍵終止進程。在用戶端中,執行以下命令,使用Telnet工具測試服務端新監聽連接埠的連通性。
例如,測試服務端
121.11.XX.XX的1234連接埠連通性時,可執行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連接埠連通性的伺服器。
用戶端:通過串連服務端的連接埠,協助測試使用的伺服器。
遠端連線到Linux系統執行個體。
具體操作,請參見使用Workbench工具以SSH協議登入Linux執行個體。
分別在服務端和用戶端執行個體執行以下命令,檢查系統是否安裝了nc程式。
which nc若系統返回類似如下,則說明已安裝nc程式。
/usr/bin/nc說明如果未安裝nc程式,您可以根據作業系統的不同,使用yum或apt-get等工具進行安裝。例如
sudo yum install -y nc。在服務端中,執行以下命令,監聽某個需要測試的連接埠。
例如,測試
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在用戶端中,執行以下命令,串連服務端需要測試的連接埠。
例如,串連服務端
111.22.XX.XX的3333連接埠時,可執行sudo nc -u 111.22.XX.XX 3333。# 請替換[$Host]為服務端IP地址、[$Port]為待測試連接埠號碼。 sudo nc -u [$Host] [$Port]串連成功後,在用戶端中輸入測試字元,例如
test,如果服務端同步收到資料,則說明連接埠連通性正常。說明如果連接埠未測通,請確認服務端的安全性群組是否放通測試連接埠,若未放通,則需添加對應的安全性群組規則,操作請參見添加安全性群組規則。

