温馨提示×

怎么用linux telnet测试

小樊
47
2026-09-21 19:49:03
栏目: 智能运维

在 Linux 下使用 telnet 做测试,通常用于:

  • 测试 端口是否连通
  • 测试 TCP 服务是否正常(如 HTTP、SMTP、Redis 等)
  • 手动发送协议命令进行调试

下面按常见场景说明。


一、安装 telnet(如果没装)

很多 Linux 默认不装 telnet 客户端:

# CentOS / RHEL
yum install -y telnet

# Ubuntu / Debian
apt-get update
apt-get install -y telnet

二、基本用法:测试端口是否通

telnet <IP或域名> <端口>

示例 1:测试 80 端口

telnet www.baidu.com 80
  • 连接成功:
    Trying 180.101.50.242...
    Connected to www.baidu.com.
    Escape character is '^]'.
    
  • 连接失败:
    Trying 180.101.50.242...
    telnet: connect to address 180.101.50.242: Connection refused
    
    或
    Connection timed out
    

✅ Connected = 端口通
❌ refused / timeout = 端口不通或被防火墙拦截


三、测试 HTTP 服务(手动发请求)

telnet www.example.com 80

连接成功后,手动输入(⚠️ 不能回退,要一次输对):

GET / HTTP/1.1
Host: www.example.com

(最后一定要空一行)

你会看到服务器返回的 HTTP 响应。


四、测试 SMTP(邮件服务)

telnet smtp.example.com 25

然后可以输入:

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

hello
.
QUIT

五、测试 Redis(简单)

telnet 127.0.0.1 6379

输入:

PING

返回:

+PONG

六、退出 telnet

Ctrl + ]

然后输入:

quit

七、常见注意事项

  1. telnet 是明文协议,不安全
    • 生产环境建议用 nc / curl / openssl s_client
  2. telnet 只测 TCP,不测 UDP
  3. 防火墙 / 安全组 经常导致连接失败
  4. 如果连接一直卡住,多半是 被防火墙丢弃

八、更推荐的替代方案(现代)

# 测试端口(推荐)
nc -vz ip port

# 测试 HTTP
curl -v http://ip:port

# 测试 HTTPS
openssl s_client -connect ip:443

如果你有 具体服务或端口(如 MySQL、SSH、Kafka、Docker),我可以给你 对应的 telnet 测试命令。

0 踩