telnet检测端口基于tcp三次握手,仅验证网络与传输层连通性;需先安装客户端,命令为telnet ip 端口;返回“connected”表示开放,“connection refused”表示无服务监听,“no route to host”为主机不可达,“connection timed out”多因防火墙拦截。

Linux中用telnet检测端口是否开放,核心是发起TCP连接尝试,看能否完成三次握手。它不验证服务功能,只反映网络层和传输层的连通性,适合快速排查。
确认telnet已安装
多数发行版默认不预装telnet客户端。先检查:
- 运行 telnet -V 或直接输入 telnet 回车,有提示符说明已就绪
- 若提示“command not found”,按系统安装:
Ubuntu/Debian:sudo apt install telnet -y
CentOS/RHEL:sudo yum install telnet -y 或 sudo dnf install telnet -y
执行端口测试命令
语法统一为:telnet [IP或域名] [端口号],中间有空格。
Linux 性能分析与调优专家,覆盖 CPU、内存、磁盘 I/O、网络、内核参数、编译优化、容器/K8s。适用场景:系统卡顿/高负载、内存不足/OOM/Swap 高、CPU 异常/iowait 高。
- 示例:测试内网服务器SSH端口 → telnet 192.168.1.100 22
- 测试公网网站HTTP端口 → telnet www.example.com 80
- 测试本地服务(如MySQL)→ telnet 127.0.0.1 3306
看懂返回结果
输出信息直接对应端口状态:
-
Trying X.X.X.X…
Connected to X.X.X.X.
Escape character is '^]'.
(随后可能有服务欢迎信息,如 SSH 的 OpenSSH_) → 端口开放且服务正在监听 - Connection refused → 目标IP可达,但该端口没服务在监听(服务未启动或绑定错误)
- No route to host → 目标主机不可达(关机、IP错误、路由不通)
- Connection timed out → 请求发出去但无响应,大概率被防火墙(本机或中间设备)拦截
退出与补充说明
成功连接后,按 Ctrl + ] 进入telnet命令模式,再输入 quit 并回车即可退出。
注意:telnet仅支持TCP,不能测UDP端口;所有通信明文,切勿用于生产环境登录;结果受目标防火墙规则和服务实际运行状态共同影响,建议配合 ss -tlnp | grep :端口 在目标机上确认监听情况。










