什么是 Telnet?
Telnet(Telecommunication Network)是一个古老的网络协议,也是使用该协议的程序,它的主要作用是远程登录到另一台计算机上,并像在本地终端一样操作那台计算机。

重要提醒:Telnet 传输的所有数据(包括用户名和密码)都是明文的,极不安全。在生产环境中,强烈建议使用 SSH (Secure Shell) 来替代 Telnet,但在以下场景中,Telnet 仍然非常有用:
- 网络故障排查:快速测试某个端口是否可达、是否在监听。
- 学习网络协议:手动输入命令,直观地观察 TCP 连接建立(三次握手)和数据交换的过程。
- 与旧设备或特定服务交互:一些网络设备(如打印机、路由器)或服务(如 SMTP、POP3)仍支持 Telnet 进行调试。
如何打开 Telnet 命令窗口?
在 Windows 系统中,Telnet 客户端默认是不安装的,你需要手动开启它。
在 Windows 10 / 11 中开启 Telnet
-
通过设置应用开启(推荐):
- 打开 设置 (Win + I)。
- 进入 应用 -> 可选功能。
- 点击 添加功能。
- 在搜索框中输入
telnet。 - 在搜索结果中找到 “Telnet 客户端”,点击 安装。
-
通过控制面板开启(传统方法):
(图片来源网络,侵删)- 打开 控制面板。
- 进入 程序 -> 程序和功能。
- 点击左侧的 “启用或关闭 Windows 功能”。
- 在弹出的窗口中,找到并勾选 “Telnet 客户端”。
- 点击 确定,等待安装完成。
安装完成后,你就可以使用 Telnet 了。
Telnet 命令窗口的基本使用
打开命令提示符 (CMD)
按下 Win + R 键,输入 cmd,然后按回车。
连接到远程主机
基本语法是:
telnet <主机名或IP地址> <端口号>
<主机名或IP地址>:你要连接的目标计算机。<端口号>:目标计算机上监听服务的端口号,如果不指定,默认尝试连接23端口(这是 Telnet 服务的标准端口)。
示例 1:测试 Web 服务器 (端口 80)

假设你想测试 www.baidu.com 的 Web 服务是否正常,可以连接它的 80 端口。
C:\> telnet www.baidu.com 80
如果连接成功,你不会看到任何提示光标,屏幕会一片空白,这是因为 Telnet 成功建立了 TCP 连接,但 Web 服务器(HTTP 协议)在等待你的请求,这时,你可以手动输入一个 HTTP 请求来测试。 注意,每行结尾都要按回车):
GET / HTTP/1.1
Host: www.baidu.com
输入完毕后,你将收到来自百度服务器的 HTTP 响应,包括响应头和网页的 HTML 源代码,这证明网络是通的,并且服务正在运行。
示例 2:测试 SMTP 邮件服务器 (端口 25)
假设你想测试邮件服务器的连通性。
C:\> telnet mail.example.com 25
如果成功,你通常会看到类似以下的欢迎信息:
220 ESMTP Mail Service Ready
这表明你已成功连接到邮件服务器的 25 端口。
常用 Telnet 命令(在 telnet> 提示符下)
当你使用 telnet 命令不带任何参数启动时,会进入 Telnet 的命令模式,提示符为 telnet>。
open <hostname> [port]:打开到主机的连接。open google.com 80。close:关闭当前连接。display:显示当前设置的参数。quit或exit:退出 Telnet 程序。set:设置 Telnet 客户端的参数,set localecho(设置本地回显)。unset:取消某个设置。- 或
help:显示所有可用的 Telnet 命令。
常见问题与排查
问题:连接被拒绝 'Connecting To www.example.com...Could not open connection to the host, on port 80: Connect failed'
这通常意味着以下几种情况之一:
- 目标服务未启动:
example.com的 80 端口上没有程序在监听。 - 防火墙阻拦:你本地或目标主机的防火墙阻止了你的连接请求。
- 网络不通:你的计算机无法到达
example.com(可能是 DNS 解析失败,或中间路由器有问题)。
排查方法:
-
检查本地网络:先
ping一下目标地址,看是否能通。ping www.example.com
-
检查端口:这是 Telnet 最强大的用途之一,你可以用它来测试任何端口。
# 测试 DNS 服务器 (53端口) telnet 8.8.8.8 53 # 测试 HTTPS (443端口) telnet www.baidu.com 443
如果某个特定端口不通,而
ping通,那问题很可能出在该端口对应的服务或防火墙规则上。
安全警告与替代方案
| 特性 | Telnet | SSH (Secure Shell) |
|---|---|---|
| 协议 | 明文传输 | 加密传输 |
| 安全性 | 极低,用户名密码可被窃听 | 高,所有数据都经过加密 |
| 主要用途 | 远程登录、端口测试 | 安全的远程登录、文件传输、端口转发 |
| 默认端口 | 23 | 22 |
| 现代地位 | 调试工具,不用于生产 | 远程管理的黄金标准 |
虽然 Telnet 是一个很好的学习和调试工具,但在任何需要安全认证的场景下,请务必使用 PuTTY、Xshell、MobaXterm 等客户端连接 SSH 服务器,对于日常的远程服务器管理,SSH 是唯一的选择。
- 开启 Telnet:在 Windows 功能中启用 "Telnet 客户端"。
- 核心用途:测试网络连通性,特别是端口的可达性。
- 基本命令:
telnet <host> <port>。 - 交互测试:连接成功后,可以手动输入协议命令(如 HTTP 的
GET)来与服务交互。 - 安全第一:仅用于调试和学习,切勿用于生产环境的远程登录,请使用 SSH。
