用明文 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
telnet 报“不是内部或外部命令”就是默认未安装;先装可选功能,或直接用 Test-NetConnection host -Port 443 和 ssh,不要为了测端口给生产机装明文客户端。curl -v,验证 SSH 用 ssh -v。无法打开到主机的连接,在端口 ... 失败 可能是防火墙丢包或服务未监听;拒绝连接 更像目标回了 RST。先在本机 netstat -ano 看监听,再从另一网段交叉测试。Microsoft Telnet> 提示符,再输入 quit 退出;直接关窗口可能留下半开连接。Test-NetConnection 或 curl --connect-timeout。nc -u(Linux)测试,别把 TCP 失败当成 UDP 也失败。合上页面,先回答,再展开对照。
curl -v 验证。Test-NetConnection。dism /online /Enable-Feature /FeatureName:TelnetClient 安装,Disable-Feature 卸载。
小程序版
微信扫码,随时查命令