系统学习 Windows 学习路径:从 CMD 到 PowerShell、系统网络,再到 WSL 与 Server

telnet

用明文 Telnet 测试 TCP 端口,仅作临时诊断。

补充说明

telnet host port 会建立一条到目标端口的 TCP 连接;连上后可以手工输入简单文本协议(SMTP、HTTP 等)观察响应。它常被用来判断“端口通不通”,但连接成功只说明 TCP 握手完成,不代表 TLS、认证或应用逻辑正常。

边界:Telnet 客户端默认未安装,是可选功能;协议本身已弃用,所有内容(包括账号密码)明文传输,不能用于远程登录或生产管理。端口测试优先用 PowerShell 的 Test-NetConnection,远程登录优先用 ssh。Telnet 也不能发 TLS 握手,连 443 端口通常只会看到空白或超时。

Windows 10/11 仍提供 Telnet 客户端可选功能,但不预装;安装需要管理员权限,卸载同样通过可选功能或 DISM。它只支持 TCP,不测试 UDP;目标端口有防火墙允许但服务未监听时,会得到连接被拒绝而不是成功。

常用示例

# 1. 测试 SMTP 端口是否可连接;看到欢迎横幅说明应用也在响应
C:\> telnet mail.example.com 25

# 2. 测试 RDP 端口,连上后可能只是空白,按 Ctrl+] 再输入 quit 退出
C:\> telnet 192.168.1.10 3389

# 3. 手工发一个 HTTP 请求;注意末尾要空一行,Host 头不能少
C:\> telnet example.com 80
GET / HTTP/1.0
Host: example.com

# 4. 安装 Telnet 客户端(可选功能,需要管理员);不用时建议卸载
C:\> dism /online /Enable-Feature /FeatureName:TelnetClient

# 5. 回滚:卸载可选功能,减少明文协议带来的攻击面
C:\> dism /online /Disable-Feature /FeatureName:TelnetClient

易错点与排错

相关命令

参考链接

读完自测

合上页面,先回答,再展开对照。

  1. Telnet 连上 443 端口后屏幕空白,能说明 HTTPS 服务正常吗?为什么?
  2. 为什么不应该用 Telnet 做远程登录?Windows 上应优先用什么?
  3. Telnet 客户端默认在哪里?如何安装和卸载?
答案
  1. 不能;只完成了 TCP 握手,443 通常等 TLS 握手,Telnet 不会发 TLS,需用 curl -v 验证。
  2. 协议明文传输账号密码和全部内容,已弃用;优先用 SSH,端口测试优先 Test-NetConnection。
  3. 默认未安装,是 Windows 可选功能;用“可选功能”或 dism /online /Enable-Feature /FeatureName:TelnetClient 安装,Disable-Feature 卸载。
微信小程序码:扫码打开命令速查小程序

小程序版

微信扫码,随时查命令