Linux 网络排查入门:ping、curl 与 ss 怎么用

举报
yd_254412059 发表于 2026/11/05 16:50:28 2026/11/05
【摘要】 网站打不开别急着重启:按 ping、curl、ss、dig 的顺序分层排查,几分钟定位是连通、HTTP、监听还是解析的问题,并附一张按顺序走的排查清单。

网站打不开、接口调不通的时候,很多人第一反应是重启服务、重启服务器。其实大多数网络问题都不用“重启玄学”,按顺序查一遍,往往几分钟就能定位到哪一层出了问题。动手之前先问清楚现象:是所有网站都打不开,还是只有一个域名打不开?是偶尔超时,还是每次都失败?“全不通”大概率是本机出口网络的问题,“只有它不通”就重点查这个域名和这台服务器。下面这套思路新手也能照着走:先用 ping 看路通不通,再用 curl 看 HTTP 走到了哪一步,接着用 ss 看服务有没有在监听,最后用 dig 查域名解析,层层缩小范围。

一、第一步:ping——先看路通不通

ping 是最基础的连通性测试,它用 ICMP 报文去探路,能告诉你目标主机到不到得了、丢包严不严重、延迟大不大。

ping -c 4 www.example.com
ping -c 20 8.8.8.8

看结果要看三个地方:一是丢包率,0% packet loss 说明链路基本通畅,丢包率很高就要怀疑链路质量;二是延迟,局域网一般几毫秒,跨省访问几十毫秒都算正常,突然跳到几百毫秒就值得注意;三是看有没有回复,100% packet loss 说明报文没有回来。需要注意的是,ping 不通不等于服务挂了,很多云服务器为了安全会禁掉 ICMP,ping 不通但网站照常能打开,这种情况很常见。所以 ping 只是第一步,通了说明路没问题,不通也别急着下结论,继续往下查。

二、第二步:curl -v——看 HTTP 走到了哪一步

如果 ping 通了,但网站还是打不开,就用 curl 看 HTTP 层。-v 会把整个过程打印出来,是排查接口问题最顺手的工具。

curl -v https://www.example.com
curl -I https://www.example.com

读 -v 的输出要按阶段看:卡在 Trying 说明 TCP 连不上,可能是端口没开、安全组没放行;卡在 TLS 握手阶段,可能是证书过期或者证书域名对不上;连上之后一直等不到响应,可能是后端服务处理太慢或者挂了。状态码也很有信息量:200 是正常;301、302 是跳转;403 常常是权限或来源限制;502 一般是网关后面没有可用的后端;504 多半是后端超时。curl -I 只拿响应头,适合快速确认服务还在不在。

三、第三步:ss -tlnp——服务到底有没有在监听

如果从外面连不上,回到服务器本机上查一查,服务到底有没有在监听。ss 是现在推荐用的工具,比老的 netstat 更快,-tlnp 四个字母分别表示 TCP、只看监听状态、显示数字端口、显示进程。

ss -tlnp
ss -tlnp | grep 80

重点看三点:第一,有没有你要的端口,如果 80、443 或者应用端口根本不在 LISTEN 列表里,说明服务没起来,或者配置文件里的端口写错了;第二,看监听地址,0.0.0.0:80 表示所有网卡都能访问,127.0.0.1:80 只允许本机访问,从外网当然连不上,这也是新手最容易踩的坑;第三,看最后一列的进程名,确认监听这个端口的确实是你想的那个服务,而不是被别的程序占了。

四、第四步:dig、nslookup——域名解析有没有问题

ping 域名不通、但 ping IP 能通,或者 curl 报错说解析失败,就要查 DNS 了。

dig +short www.example.com
nslookup www.example.com

dig +short 只返回解析结果,一眼就能看出来域名解析到了哪个 IP;dig 的完整输出里还能看到用的是哪个 DNS 服务器、查询花了多久。如果解析出来的 IP 是错的,或者干脆解析失败,先换一个公共 DNS 试试,比如把解析服务器换成 114.114.114.114 再查一次,能解析就是原来的 DNS 有问题。域名刚改了解析记录,全球生效需要时间,本地也可以先用 IP 直连测试,确认服务本身是好的。

五、按顺序走的排查清单

顺序 查什么 命令 正常表现 异常先看哪里
1 连通性 ping -c 4 域名 0% 丢包、延迟稳定 链路、出口网络
2 HTTP curl -v 域名 200、响应正常 端口、证书、后端
3 监听 ss -tlnp 端口在 LISTEN 服务状态、监听地址
4 解析 dig +short 域名 IP 正确 DNS、解析记录

遇到网络问题,先分层、再动手:ping 定连通,curl 定 HTTP,ss 定服务,dig 定解析。按这个顺序走一遍,大多数“网站打不开、接口不通”的问题,都能在不重启的情况下找到原因。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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