學習 Telnet 命令以測試和解決連接問題
已發表: 2022-11-22Telnet 是一種流行的網絡協議,可讓您以虛擬方式連接到遠程計算機。 它是 1969 年開發的舊協議。
如今,SSH(Secure Shell) 已經取代了 Telnet。 SSH 也是一種網絡通信協議,可讓網絡和系統管理員安全地連接到遠程計算機。
至於 Telnet,它現在主要用於解決和測試連接問題。 學習 Telnet 命令可以幫助您更好地管理網絡。
在本文中,我們將仔細研究 telnet 命令,包括了解它的工作原理以及如何解決連接問題。 讓我們開始吧。
什麼是遠程登錄?
Telnet 是一種網絡協議,代表Teletype Net work。 它提供了一個命令行界面/解釋器來與遠程服務器進行通信。 系統和網絡管理員使用 Telnet 的終端到終端通信來獲得遠程控制並執行不同的操作,例如初始設備設置。
為了便於使用 Telnet 協議,您需要 Telnet Client。 客戶端使用戶能夠通過 TCP/IP 在遠程系統上登錄和使用應用程序。 Telnet 客戶端使用 Telnet 服務器應用程序來執行操作。 此外,Telnet 客戶端可用於所有現代操作系統,例如 Windows、Linux 和 macOS。
注意:在本文中,當我們提到“Telnet”時,如果另有說明,則表示“Telnet 客戶端”。
Telnet 安全嗎?
在 1969 年成立期間,安全性並不是執行網絡任務時的主要關注點。 這就是 Telnet 不使用任何加密的原因。 由於它不安全,因此也不建議通過 TCP/IP 網絡連接到遠程客戶端。 如果這樣做,您就會暴露在可以中斷未加密數據的黑客面前。 SSH 是一個很好的替代協議,它提供了一種安全的方式來遠程連接到服務器。
Telnet 是如何工作的?
從視覺上看,Telnet 協議的工作原理如下。

Telnet 是一種面向文本的通信,它創建了一個雙向(客戶端-服務器協議)交互式通信系統。 它利用八字節連接進行傳輸。 此外,您需要連接到終端的鍵盤和屏幕才能使用 Telnet。
您從終端輸入命令以連接到遠程計算機。 連接後,Telnet 使您可以控制服務器,包括其文件和進程。
要連接到遠程服務器,用戶應在命令提示符中輸入“Telnet”。 語法是:
telnet hostname port
連接成功後,您可以使用 Telnet 提示符輸入更多 Telnet 命令。
您可以使用 Telnet 的不同用途是:
- 檢查開放端口
- 編輯文件,運行程序
- 配置交換機、路由器等網絡設備。
要結束會話,您需要在 Telnet 提示符中鍵入“Telnet”。
如何在 Windows/Linux 和 macOS 中啟用 Telnet 客戶端
Telnet 客戶端可用於所有主要平台和操作系統。 但是,您需要先安裝或啟用它,然後才能使用它。
#1。 視窗
如果您使用的是 Windows 7 或更高版本(8、10、11)或 Windows Vista,您可以按照以下步驟啟用 Telnet 客戶端:
- 轉到開始菜單並蒐索控制面板。 您也可以通過按 Win + R 鍵然後鍵入“control”來打開控制面板。 它應該打開控制面板。
- 現在選擇“程序”>“程序和功能”。
- 選擇“從左窗格中打開或關閉 Windows 功能”。
- 現在選中“Telnet 客戶端”旁邊的框,然後按“確定”。
- 現在,一旦 Windows 啟用它並顯示消息“Windows 已完成請求的更改”,請按“關閉”。

注意:您可以立即開始使用 Telnet Client,而無需重新啟動計算機。
#2。 Linux
就像 Windows 一樣,Linux 也沒有預裝 Telnet。
要在 Ubuntu 中安裝 Telnet,您需要使用以下命令。
# sudo apt-get install telnet
注意:該命令因您的 Linux 發行版而異。
#3。 蘋果系統
MacOS 還支持 Telnet。 要安裝它,您需要使用 Homebrew。 如果未預安裝 Homebrew,則可以通過運行以下命令來安裝它:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
它會要求您輸入管理員密碼以授權安裝。
安裝 Homebrew 後,鍵入以下命令以在 MacOS 上安裝 Telnet。
brew install telnet
使用 Telnet 測試網絡連接並排除故障
儘管 Telnet 不是遠程連接的理想選擇,但它對於測試和排除網絡連接故障仍然很有用。
在我們繼續之前,讓我們快速瀏覽一下 Telnet 語法。
telnet <server/host IP address> <port>
此處,服務器/主機 IP 地址是您要連接的服務器。 端口是 TCP 端口號。
例如,如果要連接到端口為 80 的服務器 IP 地址 example.com,則需要鍵入以下命令。
telnet example.com 80
這意味著您必須事先知道遠程服務器的 IP 地址/名稱和端口號才能進行故障排除。
讓我們開始吧。
Web 服務器故障排除
Telnet 提供了一種測試服務器連通性的簡便方法。 您需要做的就是連接到服務器/主機 IP 地址和接受連接的端口。
例如,如果您在端口 532 連接到 23.45.75.22,則需要運行以下命令。

telnet 23.45.75.22 532
從這裡開始,可能會發生兩件事:
- 連接到服務器成功。 它將顯示“已連接到服務器”或任何其他確認消息或等待其他輸入。
- 與服務器的連接不成功。 在這種情況下,您會收到諸如“連接失敗”或“連接被拒絕”之類的消息
- Telnet 不返回任何消息。
Telnet 嘗試連接到遠程服務器失敗的原因有多種。 此外,如果 Telnet 未返回任何錯誤消息,則可能是防火牆或防病毒軟件阻止了您端或服務器的連接。
如果我們在端口 80 連接到 geefklare.com,您會看到一個即時連接,因為它正在等待進一步的命令。
telnet geefklare.com 80 Connected to geekflare.com. Escape character is '^]'.
現在,輸入以下命令。
GET / HTTP/1.1 Host: geekflare.com
它將返回以下內容:
HTTP/1.1 200 OK Date: Fri, 18 Nov 2022 04:40:33 GMT Content-Type: text/plain; charset=UTF-8 Content-Length: 16 X-Frame-Options: SAMEORIGIN Referrer-Policy: same-origin Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 [Additional server output follows]
現在,查看連接到服務器的失敗嘗試。
telnet 23.45.75.222 532 Connecting To 23.45.75.222...Could not open a connection to the host on port 532: Connect failed
檢查端口是否打開
如果可以使用 Telnet 遠程訪問服務器,您還可以使用它來檢查端口是否打開。
要檢查服務器上的端口是否打開,您需要使用以下命令。
telnet <server IP address> <port>
比如你的服務器IP地址是23.45.47.53,你要查看的端口是532。
telnet 23.45.47.53 532
如果命令成功,您將看到一個空白屏幕,這意味著端口已打開。 如果顯示為“connecting..”然後顯示錯誤消息,則表示端口未打開。
Connection to 23.45.47.53:532 - fail Error #110 (Connection timed out)
SMTP 郵件服務器故障排除
簡單郵件傳輸協議 (SMTP) 管理郵件服務器之間的通信。
您可以使用 Telnet 對 SMTP 服務器進行故障排除,以查看它們是否正在接收和發送郵件。 您向 SMTP 服務器發送手動消息請求。 如果一切正常,您會收到回复。
Telnet 讓您可以通過兩種方式測試 STMP 連接:
- 測試從 Internet 到您的郵件服務器的郵件流。
- 測試從您的郵件服務器到另一台服務器的郵件流。
要運行示例交換,請在終端中鍵入以下命令。
telnet mail.geekflare.com 25 Trying 192.168.0.68… Connected to mail.geekflare.com Escape character is '^]'. 220-mail.geekflare.com ESMTP Exim 4.7 220-We do not authorize the use of this system to 220 transport unsolicited and/or bulk e-mail.
EHLO mail.geekflare.com 250-geekflare.com Hello geekflare.com [192.168.3.200] 250-AUTH PLAIN LOGIN QUIT
在這裡,用戶鍵入的另外兩個命令是:
- EHLO 郵箱.geekflare.com
- 退出
ECLO 命令在使用 MAIL FROM 命令之前識別域名。 QUIT 命令退出 Telnet 會話。
如果您需要更高級的命令,請查看這篇關於使用 Telnet 測試 Exchange 服務器上的 SMTP 通信的文章。
FTP 服務器故障排除
就像 SMTP 和 Web 服務器一樣,您也可以對 FTP 服務器進行故障排除。 您需要做的就是輸入 FTP 服務器 IP 地址並連接到端口 21。
telnet ftp.geekflare.com 21
如果嘗試成功,您現在已連接到服務器。 否則,您會看到一條錯誤消息。
Error #0 (php_network_getaddresses: getaddrinfo failed: No address associated with hostname)
SSH 故障排除
SSH 是安全連接的現代版本,取代了 Telnet。 您可以使用 Telnet 查看服務器是否正在運行 SSH。
為此,請使用帶有服務器 IP 地址和端口 22 的 Telnet 命令。
telnet geekflare.com 22 Trying 192.168.0.62… Connected to geekflare.com. Escape character is '^]'. SSH-2.0-OpenSSH_5.3
最後的話
Telnet 是當今時代的便利工具。 它可以讓您成功排除網絡連接故障,而無需嚴重依賴更複雜的工具或命令行。 使用 Telnet,您可以檢查是否可以訪問 Web 服務器,查看端口是否打開,以及排除 SSH 和 FTP 故障。
您可以查看這篇關於如何解決“找不到 telnet 命令”錯誤的文章。