【网络运维】Ping不通?别慌!用Telnet和Netstat精准排查端口连通性

简介: 本文介绍网络排查两大利器:Telnet与Netstat。通过Ping只能检测服务器是否在线,而Telnet可测试端口连通性,区分“连接被拒”与“超时”;Netstat则用于服务端查看端口监听状态,识别如仅监听127.0.0.1导致外网无法访问的问题。结合ss命令和“三板斧”流程,快速定位网络故障。

前言

在日常开发中,我们经常遇到服务连不上的情况:

"为什么我的本地代码连不上阿里云的数据库?" "为什么我的API接口调不通,报Connection Refused?"

大多数人的第一反应是打开终端敲一个 ping ip地址

  • 如果 ping 通了,就觉得网络没问题,然后陷入迷茫。
  • 其实,Ping通了只代表服务器活着(网络层通了),并不代表你的服务端口是通的(传输层/应用层)!

今天我们介绍两个网络排查神器:Telnet(客户端排查)和 Netstat(服务端排查),助你精准定位“路”到底断在哪里。


神器一:Telnet —— 在客户端“敲门”

当你作为客户端(Client),想要确认能不能连上远程服务器的某个特定端口(比如 MySQL 的 3306,或者 Redis 的 6379),ping 是无能为力的,这时候要用 telnet

(注:Windows和Mac通常自带Telnet,Linux如果没有,可以通过 yum install telnet 安装)

1. 命令语法

Bash

telnet [服务器IP] [端口号]

2. 结果分析(这才是重点!)

情况 A:连接成功如果你看到屏幕变成全黑,或者出现 Escape character is '^]'. 字样,恭喜你,端口是通的!(此时按 Ctrl + ] 然后输入 quit 即可退出)

情况 B:Connection refused(连接被拒绝)

Plaintext

Trying 192.168.1.100...
telnet: connect to address 192.168.1.100: Connection refused

诊断: 网络是通的,防火墙也没拦你,但是服务器上的目标端口没开可能原因: 后端服务挂了(进程没起),或者服务端口配置错了。

情况 C:Connect Timeout(连接超时/一直转圈)

Plaintext

Trying 192.168.1.100...
(一直卡在这里不动)

诊断: 请求发出去了,但就像石沉大海。可能原因: 防火墙(安全组)屏蔽了端口,或者中间网络线路不通。这时候你要去检查阿里云安全组或 Firewalld 设置。


神器二:Netstat —— 在服务端“自查”

当你发现 Telnet 连不上(Connection refused)时,你需要登录到服务器内部,确认一下服务到底有没有在监听端口。这时候用 netstat

1. 命令语法

我们需要查看:TCP协议、Listening(监听中)、Numeric(显示数字端口不显示别名)、Process(显示进程PID)。

Bash

netstat -nltp

2. 结果分析

输出结果通常长这样:

Plaintext

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:80              0.0.0.0:* LISTEN      1234/nginx
tcp        0      0 127.0.0.1:3306          0.0.0.0:* LISTEN      5678/mysqld

关键点看 Local Address

  • 情况 A:0.0.0.0:80
  • 含义: 服务正在监听本机所有网卡的80端口。
  • 结论: 外部可以访问(前提是防火墙放行)。
  • 情况 B:127.0.0.1:3306 (新手最容易踩的坑!)
  • 含义: 服务只监听了本地回环地址
  • 结论: 这个服务只能在服务器内部访问,外网IP无论如何都连不上!
  • 解决: 修改服务的配置文件(如 my.cnfredis.conf),将 bind 127.0.0.1 改为 bind 0.0.0.0
  • 情况 C:查不到该端口
  • 结论: 服务压根没启动,或者已经挂了。请先去启动服务。

补充:新一代工具 ss

在一些较新的 Linux 发行版中,netstat 可能默认未安装,取而代之的是性能更强的 ss 命令。用法几乎一样:

Bash

# 查看监听端口
ss -nltp

总结:网络排查三板斧

当你遇到“连不上”的问题时,请按这个顺序排查:

  1. Ping一下: 确认服务器IP是不是活的。(网络层)
  2. Telnet一下: telnet IP 端口,确认是不是防火墙拦了,或者服务没开。(传输层)
  3. Netstat一下: 登录服务器查 netstat -nltp,确认服务是不是只监听了 127.0.0.1。(应用层)
相关文章
|
13天前
|
数据采集 人工智能 安全
|
8天前
|
编解码 人工智能 自然语言处理
⚽阿里云百炼通义万相 2.6 视频生成玩法手册
通义万相Wan 2.6是全球首个支持角色扮演的AI视频生成模型,可基于参考视频形象与音色生成多角色合拍、多镜头叙事的15秒长视频,实现声画同步、智能分镜,适用于影视创作、营销展示等场景。
652 4
|
8天前
|
机器学习/深度学习 人工智能 前端开发
构建AI智能体:七十、小树成林,聚沙成塔:随机森林与大模型的协同进化
随机森林是一种基于决策树的集成学习算法,通过构建多棵决策树并结合它们的预测结果来提高准确性和稳定性。其核心思想包括两个随机性:Bootstrap采样(每棵树使用不同的训练子集)和特征随机选择(每棵树分裂时只考虑部分特征)。这种方法能有效处理大规模高维数据,避免过拟合,并评估特征重要性。随机森林的超参数如树的数量、最大深度等可通过网格搜索优化。该算法兼具强大预测能力和工程化优势,是机器学习中的常用基础模型。
350 164
|
7天前
|
机器学习/深度学习 自然语言处理 机器人
阿里云百炼大模型赋能|打造企业级电话智能体与智能呼叫中心完整方案
畅信达基于阿里云百炼大模型推出MVB2000V5智能呼叫中心方案,融合LLM与MRCP+WebSocket技术,实现语音识别率超95%、低延迟交互。通过电话智能体与座席助手协同,自动化处理80%咨询,降本增效显著,适配金融、电商、医疗等多行业场景。
359 155