Telnet 是一种基于文本的网络协议,用于通过命令行远程控制服务器或网络设备(如路由器、交换机),它使用 TCP 端口 23 建立连接,但因其数据传输不加密(明文传输),现已逐渐被更安全的 SSH 替代,Telnet 仍常用于本地网络调试、端口测试或旧设备管理。
使用 Telnet 的前提条件
-
启用 Telnet 客户端:
- Windows:
控制面板 → 程序 → 启用或关闭 Windows 功能 → 勾选 Telnet 客户端 → 确定。 - Linux/macOS:
终端执行sudo apt install telnet
(Debian/Ubuntu)或brew install telnet
(macOS)。
- Windows:
-
目标设备支持:
确保目标服务器/设备已开启 Telnet 服务(默认端口 23 或其他自定义端口)。
Telnet 基础命令语法
telnet [主机地址] [端口]
- 主机地址:IP 或域名(如
168.1.1
或example.com
) - 端口:可选参数,默认 23(如测试 HTTP 端口需指定
80
)
使用步骤详解(以 Windows 为例)
连接远程服务器
telnet example.com 23
- 若连接成功,提示
Connected to example.com
。 - 输入用户名/密码(注意:密码以明文传输,存在风险!)。
测试网络端口连通性
telnet google.com 80
- 若端口开放,显示空白屏幕(HTTP 端口)或服务欢迎信息。
- 若端口关闭,提示
Connection refused
或超时错误。
退出 Telnet 会话
- 方法 1:输入
Ctrl + ]
→ 输入quit
→ 回车。 - 方法 2:直接关闭命令行窗口。
常用 Telnet 内部命令
进入 Telnet 会话后,按 Ctrl + ]
进入命令模式:
| 命令 | 作用 |
|————|———————–|
| open
| 新建连接 |
| close
| 关闭当前连接 |
| status
| 查看连接状态 |
| quit
| 完全退出 Telnet 客户端 |
实际应用案例
案例 1:测试 SMTP 邮件服务器
telnet smtp.example.com 25
连接后输入:
HELO test.com MAIL FROM: <sender@example.com> RCPT TO: <receiver@example.com> DATA Subject: Test This is a test email. . # 英文句号结束正文 QUIT
案例 2:检查 HTTP 服务
telnet example.com 80
输入 GET / HTTP/1.1
→ 回车 → 输入 Host: example.com
→ 两次回车,可查看返回的 HTTP 头信息。
安全警告与替代方案
⚠️ 重要风险提示:
Telnet 传输所有数据(包括密码)均为明文,易被中间人攻击窃取。切勿在公共网络或互联网使用 Telnet 管理敏感设备!
✅ 安全替代方案:
- 使用 SSH(加密连接):命令
ssh username@host -p 端口
- 工具推荐:PuTTY(Windows)、OpenSSH(Linux/macOS)
常见问题解答
Q1:连接时提示 “无法打开到主机的连接”?
- 检查目标 IP/端口是否正确
- 确认防火墙未拦截(如云服务器需配置安全组)
- 目标服务未运行(执行
netstat -an | grep 23
验证)
Q2:输入字符不显示或乱码?
- Telnet 为纯文本协议,不支持图形界面
- 确保客户端和服务端字符集一致(建议使用英文)
Telnet 作为历史悠久的远程管理工具,适合本地网络调试、端口测试或旧设备维护,但在生产环境中,务必使用 SSH 等加密协议保障安全,掌握基础命令可快速诊断网络问题,但请始终将安全性置于首位。
引用说明参考 Microsoft 官方文档《使用 Telnet》、Linux man-pages 及 RFC 854(Telnet 协议规范),安全建议依据 NIST《网络安全框架》。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/7835.html