服务器上服务明明起了,本机就是连不上,群里问一句,回复往往是:先 telnet 一下端口。这个命令是排查端口连通性最快的办法,Windows 自带,不用装任何工具。

先把客户端功能打开

Windows 10 和 11 默认没启用 Telnet 客户端。开启方式有两个:控制面板 → 程序 → 启用或关闭 Windows 功能,勾选「Telnet 客户端」后确定;或者管理员身份运行 PowerShell,执行 dism /online /Enable-Feature /FeatureName:TelnetClient,几十秒后生效。

命令格式和判断标准

用法就三段:telnet 加 IP 加端口。telnet 192.168.1.100 3306 测 MySQL,telnet 127.0.0.1 8080 测本机 Web 服务。判断标准很简单:

  • 屏幕变黑或出现一串乱码:端口通,TCP 连接建立成功。连数据库这类服务会收到一段握手乱码,属正常现象。
  • 提示连接失败或长时间卡住后报超时:端口没开、服务没监听,或者被防火墙拦了。

退出会话先按 Ctrl+] 进入 Telnet 提示符,输入 quit 回车;直接关窗口也行,但正常退出是好习惯。

测不通时往哪查

先在同一台机器上跑 netstat -ano,确认服务真的在监听对应端口,注意监听地址:只监听 127.0.0.1 的话,外部怎么 telnet 都不通,得改成监听 0.0.0.0 或对应网卡。跨机器不通再查两头防火墙规则,云主机还要看安全组,这几个地方挡住的,比服务本身出的问题多。

提醒一句:Telnet 是明文协议,管理路由器、交换机别再用它,改用 SSH;它现在的价值就是当个顺手的小工具。

实际判断:telnet 通了还是连不上服务,问题基本在应用层,比如数据库没放行远程账号、Web 服务绑错了地址,别再回头查网络。