telnet 测端口
telnet 是最古老的 TCP 探测手段,也是很多老系统上唯一现成的工具:写出地址与端口,连上就是开放。它只能测 TCP,没有超时参数,Windows 还需要先在功能里启用客户端组件。今天排查端口更推荐用 nc 或 Test-NetConnection,但当手里只有 telnet 时,把它用好同样能给出明确结论。
基本信息
| 适用平台 | Linux 与 macOS 一般自带;Windows 需在可选功能中启用客户端 |
|---|---|
| 支持协议 | 仅 TCP,UDP 服务无法用它验证 |
| 典型命令 | telnet 地址 端口;连上后按组合键退出 |
| 局限 | 默认没有超时参数,被丢弃时只能靠外部超时控制 |
典型使用场景
- 老系统上的最小验证:只有 telnet 可用时确认端口是否开放
- 快速人工确认:不需要额外安装工具的临时检查
- 区分拒绝与丢弃:看到连接被拒绝说明端口未监听或策略明确拒绝
- 交接与巡检:值班手册里保留命令简单、人人都能执行的检查项
- 替换选择:在更完整的工具可用时改用 nc 或 PowerShell 的对应命令
用法与结果判读
用法与结果判读
telnet 10.0.0.5 3306
# 已连接到 10.0.0.5 → 端口可达,服务在监听
# 连接被拒绝 → 主机可达但端口未监听或被明确拒绝
# 长时间无输出后超时 → 包被静默丢弃,或路由不通
nc -vz -w3 10.0.0.5 3306 # 更推荐的替代命令,可设定超时
# Windows:先启用客户端功能,再执行 telnet 10.0.0.5 3306三种结果对照
| 结果 | 网络层含义 | 排查方向 |
|---|---|---|
| 连接成功 | 握手的包双向都通 | 端口开放,可继续测业务响应 |
| 连接被拒绝 | 包到达对端并得到明确拒绝 | 检查服务是否启动、监听地址与策略配置 |
| 超时无输出 | 发出去的包没有回应 | 检查路径、防火墙丢弃规则与路由 |
连上之后不要在里面敲业务数据:telnet 是明文协议,测试端口时连上即退出,避免无意中传递敏感内容。
Windows 上如果提示不是内部或外部命令,不是网络故障,而是客户端组件没有启用,用可选功能或图形界面添加即可。