Linux 命令行网络诊断:curl、ss 与 ping 的组合用法

举报
yd_290247903 发表于 2026/11/06 06:20:47 2026/11/06
【摘要】 刚接触 Linux 服务器时,遇到“网站打不开”“服务连不上”,很多人第一反应是重启。其实大多数网络问题都能用三条现成命令定位:ping 测通不通,ss 看端口谁在监听,curl 验应用层通不通。把三者按顺序组合起来,很快就能把问题范围缩小到某一层。一、ping:先确认路通不通ping 用 ICMP 回显报文测试两台主机之间是否可达,是最基础的连通性工具。ping -c 4 223.5.5....

刚接触 Linux 服务器时,遇到“网站打不开”“服务连不上”,很多人第一反应是重启。其实大多数网络问题都能用三条现成命令定位:ping 测通不通,ss 看端口谁在监听,curl 验应用层通不通。把三者按顺序组合起来,很快就能把问题范围缩小到某一层。

一、ping:先确认路通不通
ping 用 ICMP 回显报文测试两台主机之间是否可达,是最基础的连通性工具。
ping -c 4 223.5.5.5
只发四个包就停,避免一直刷屏。重点看三点:有没有丢包,往返时间是否稳定,以及平均时延大概是多少。如果全部丢包,先别急着下结论:很多云服务器和防火墙会禁 ICMP,ping 不通不代表服务不通,这时要换 TCP 方式验证。
再用域名测一次:
ping -c 4 www.huaweicloud.com
如果域名 ping 不通、IP 地址能通,多半是 DNS 解析出了问题;如果两者都通但很慢,可能是链路拥塞或对端负载偏高。

二、ss:再看本地端口谁在监听
服务起没起来、端口有没有被占用,用 ss 比 netstat 更快,它是 iproute2 自带的工具。
ss -tuln
-t 看 TCP,-u 看 UDP,-l 只看监听状态,-n 不做域名反查,输出干净好读。看到 0.0.0.0:8080 这样的行,说明服务正在监听所有网卡的 8080 端口;如果只看到 127.0.0.1:8080,说明它只监听了本机回环地址,外网当然连不上,这就是最常见的“本机能访问、别人访问不了”的原因。
想知道是哪个进程占了端口,再加 -p:
ss -tnlp
输出里的 users 字段会写明进程名和进程号,配合 ps 一起用,就能判断是不是旧进程没退出、端口被别的程序抢占。

三、curl:最后验证应用层通不通
端口通了不等于服务正常,HTTP 状态码和响应时间要靠 curl 来看。
curl -I https://www.huaweicloud.com
-I 只取响应头,能快速看到 200、301、404、500 这些状态码。加 -v 可以看到 DNS 解析、TLS 握手和请求头,定位证书过期、重定向循环这类问题很管用。
想量化各阶段耗时,用 -w 打印时间:
curl -o /dev/null -s -w "DNS:%{time_namelookup} 连接:%{time_connect} 首包:%{time_starttransfer} 总耗时:%{time_total}" https://www.huaweicloud.com
DNS 慢就查解析,连接慢就查网络或防火墙,首包慢往往是后端处理慢,这样分段看比只看总耗时有用得多。

四、一个固定的排查顺序
遇到“连不上”,建议按这个顺序走:先 ping 目标 IP,确认网络层可达;再 ping 域名,确认 DNS 正常;然后在服务器上 ss -tuln,看服务是否在监听、监听地址对不对;最后用 curl 从客户端访问一次,看状态码和各阶段耗时。每一层通过就往下一层走,卡在哪一层,问题就基本锁定在哪一层。
另外提醒三点:一是云服务器要同时检查安全组和系统防火墙,缺一不可;二是修改配置后要重启或重载对应服务,否则 ss 里看到的还是旧状态;三是做记录时把命令和输出原样保存下来,方便回头对比,也方便向别人求助。
把 ping、ss、curl 这三条命令练熟,日常排查就有了固定套路:不靠猜、不靠重启碰运气,一步一步缩小范围,新手也能把网络问题讲清楚、定位准。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。