Linux中用telnet测试端口连通性核心是验证TCP三次握手是否成功,仅确认端口可达性;需先安装客户端(如Ubuntu用sudo apt install telnet,CentOS用sudo yum install telnet),再执行telnet IP 端口,成功显示“Connected to”表示TCP层可达,但受防火墙、服务监听状态影响。

Linux 中用 telnet 测试端口连通性,核心是验证目标主机的 TCP 端口是否响应三次握手。它不检查服务功能或协议内容,只回答“能不能通”,快而直接——但前提是客户端已安装、目标端口确实在监听、中间链路没被防火墙拦住。
确认并安装 telnet 客户端
多数现代发行版(如 Ubuntu 22.04+、CentOS 8+、Fedora 36+)默认不带 telnet 命令,需手动安装:
- Debian/Ubuntu 系统:sudo apt update && sudo apt install -y telnet
- RHEL/CentOS 7/8:sudo yum install -y telnet 或 sudo dnf install -y telnet
安装后运行 telnet -V 查看版本号;若提示 invalid option -- 'V',说明是精简版,不影响基本连通性测试。
执行端口连通性测试
语法统一为:telnet [IP 或域名] [端口号],例如:
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
- 测试 Web 服务:telnet example.com 80
- 测试 SSH 服务:telnet 192.168.1.100 22
- 测试自定义端口:telnet 121.11.XX.XX 1234
观察终端反馈:
- 出现 Connected to xxx.xxx.xxx.xxx 或光标停住无报错 → 端口开放且可连通
- 提示 Connection refused → 目标主机收到请求,但该端口无服务监听(服务未启动、绑定 IP 错误如仅绑了 127.0.0.1)
- 提示 No route to host 或 Network is unreachable → 网络层不通(IP 错、主机关机、路由缺失)
- 提示 Connection timed out → SYN 包发出后无 ACK 回应,大概率是防火墙拦截(本机 ufw/firewalld、目标主机防火墙、云平台安全组)
连接成功后如何退出
telnet 建立的是纯 TCP 连接,不会自动交互,连上后常卡住不动,属正常现象:
- 按 Ctrl + ](先按 Ctrl,松开再按右方括号),进入 telnet 命令模式
- 输入 quit 并回车,即可完全退出
若测试 HTTP 类服务(80/443),连上后可手动输入 GET / HTTP/1.0,再按两次回车,观察是否有 HTTP 响应头返回。
注意适用边界和替代方案
telnet 仅支持 TCP,不支持 UDP;它明文传输、暴露服务 Banner,不适合公网敏感端口探测。
- 需要测 UDP(如 DNS 53 端口)→ 用 nc -zuv IP 端口
- 需要静默批量检测 → 用 nc -zv IP 端口,成功返回 succeeded!
- 验证 HTTP/HTTPS 应用层响应 → 用 curl -I http://IP:端口 或 wget --spider http://IP:端口

















