温馨提示×

怎样用linux telnet调试

小樊
39
2026-10-12 09:42:23
栏目: 智能运维

在 Linux 下使用 telnet 进行调试,通常用于排查网络连通性、端口可达性,以及手动与服务端协议交互(如 HTTP、SMTP、Redis 等)。下面按场景说明。


一、基本用法

1. 安装 telnet(如未安装)

# Debian / Ubuntu
sudo apt install telnet

# CentOS / RHEL
sudo yum install telnet

2. 基本连接命令

telnet <主机> <端口>

示例:

telnet 192.168.1.10 80
telnet example.com 25

如果连接成功,说明:

  • 网络可达
  • 防火墙未阻断
  • 服务在监听该端口

二、常见调试场景

场景 1:测试端口是否开放

telnet 127.0.0.1 3306
  • 连接成功 → 端口正常
  • Connection refused → 服务未启动或被拒绝
  • 长时间无响应 → 防火墙或网络阻断

场景 2:调试 HTTP 服务

telnet example.com 80

连接后手动输入 HTTP 请求:

GET / HTTP/1.1
Host: example.com

(输入完按 两次回车)

可用于验证:

  • 服务器是否返回正确响应
  • Header / 状态码
  • 后端是否异常

场景 3:调试 SMTP(邮件服务)

telnet mail.example.com 25

示例:

HELO test.com
MAIL FROM:<a@b.com>
RCPT TO:<c@d.com>
DATA
Subject: test
hello
.
QUIT

场景 4:调试 Redis(文本协议)

telnet 127.0.0.1 6379

输入:

PING
SET key 123
GET key

三、退出 telnet

  • Ctrl + ] 进入 telnet 命令模式
  • 输入:
quit

四、常用调试技巧

1. 设置超时(防止卡死)

timeout 5 telnet 192.168.1.10 8080

2. 配合脚本自动测试

echo "GET / HTTP/1.1
Host: example.com

" | telnet example.com 80

五、telnet 的局限与替代

⚠️ telnet:

  • 明文传输(不安全)
  • 不支持 TLS(HTTPS)

✅ 推荐替代:

  • nc / ncat
  • curl
  • openssl s_client(调试 HTTPS)

示例:

openssl s_client -connect example.com:443

如果你有具体调试的服务或报错信息,可以直接贴出来,我可以帮你针对性分析。

0 踩