Linux 常见的网络排查工具:从连通性到抓包,一次讲清

举报
yd_23412927 发表于 2026/11/06 12:00:29 2026/11/06
【摘要】 Linux 常见的网络排查工具:从连通性到抓包,一次讲清服务器连不上、接口超时、域名解析失败,十次有九次是网络问题。Linux 上排查网络有一套固定的工具组合,按“本机 → 连通性 → DNS → 端口 → 抓包 → 性能”这个顺序走,大部分问题半小时内就能定位。 一、先看本机:ip addr、ip route出问题先确认本机网络配置对不对,别一上来就怪对端。ip addr show ...

Linux 常见的网络排查工具:从连通性到抓包,一次讲清

服务器连不上、接口超时、域名解析失败,十次有九次是网络问题。Linux 上排查网络有一套固定的工具组合,按“本机 → 连通性 → DNS → 端口 → 抓包 → 性能”这个顺序走,大部分问题半小时内就能定位。

一、先看本机:ip addr、ip route

出问题先确认本机网络配置对不对,别一上来就怪对端。

ip addr show        # 看网卡、IP 地址、状态是不是 UP
ip route show       # 看默认路由指向哪个网关

ip addr 里没有 IP,或者默认路由缺失,先检查网卡和 DHCP;有 IP 但 ping 不通网关,再往下查。

二、连通性:ping、traceroute、mtr

ping 是最基础的连通性测试,-c 控制次数,-M do -s 1472 可以顺带测 MTU:

ping -c 4 8.8.8.8
ping -c 4 -M do -s 1472 目标IP   # 大包不通可能是 MTU 问题

ping 通但业务不通,或者时通时断,用 traceroute 看路径上哪一跳开始丢包:

traceroute 目标域名

想持续观察就用 mtr,它是 ping + traceroute 的结合体,实时显示每一跳的丢包率和延迟,定位抖动和丢包点最直观:

mtr --report 目标域名

注意:有的云厂商和机房会禁 ICMP,ping 不通不等于网络不通,这时要结合 TCP 方式验证。

三、DNS:dig、nslookup

域名打不开先别急着重启服务,查 DNS:

dig example.com        # 看 ANSWER 段有没有正确解析结果
dig @8.8.8.8 example.com   # 指定 DNS 服务器,对比是不是本地 DNS 的问题
nslookup example.com

dig 没返回结果,检查 /etc/resolv.conf 里的 DNS 配置;指定 8.8.8.8 能解析、默认 DNS 不能解析,问题就在本地 DNS 或运营商劫持。

四、端口与服务:ss、nc、curl

服务起没起、端口通不通,用 ss 看监听状态:

ss -tlnp   # 看所有监听的 TCP 端口和对应进程
ss -tnp    # 看当前 TCP 连接状态,TIME_WAIT 过多要留意

ss 是 netstat 的替代品,速度更快,输出也更清晰。确认端口在监听,再从客户端测连通性:

nc -vz 目标IP 80      # 测 TCP 端口通不通
curl -v http://目标地址  # 看 HTTP 请求走到哪一步,DNS、建连、TLS 各阶段一目了然
curl -o /dev/null -s -w "DNS:%{time_namelookup} 建连:%{time_connect} 首包:%{time_starttransfer} 总耗时:%{time_total}\n" http://目标地址

上面这条 curl 能把一次请求的各阶段耗时拆开,接口慢到底是 DNS 慢、建连慢还是服务端慢,一眼就能分清。

五、抓包:tcpdump

前面都查不出原因,就抓包看真相:

tcpdump -i eth0 -nn host 目标IP and port 80   # 抓指定主机和端口
tcpdump -i eth0 -nn -c 100 -w /tmp/cap.pcap   # 存成文件,用 Wireshark 细看
tcpdump -i eth0 port 53   # 只看 DNS 流量,查解析问题很方便

抓包的常见结论就几种:SYN 发出去没回包(对端或中间防火墙丢了)、RST 直接拒绝(端口没开或被拦截)、三次握手正常但应用层没响应(问题在服务本身)。

六、带宽与性能:iperf3、ethtool

怀疑带宽不够或网卡协商异常时:

iperf3 -s              # 服务端
iperf3 -c 服务端IP      # 客户端测实际带宽
ethtool eth0           # 看网卡速率、双工模式,百兆协商成 10M 就很可疑了

iperf3 测出来只有几 Mbps,先看 ethtool 的协商速率,再看是不是限速或共享带宽被占满。

七、一张排查流程

现象 先查 工具
完全不通 本机 IP、路由 ip addr、ip route
间歇丢包 路径逐跳 mtr
域名打不开 DNS 解析 dig、nslookup
端口不通 监听、防火墙 ss、nc
接口慢 各阶段耗时 curl -w
原因不明 抓包 tcpdump

小结

网络排查的关键是分层定位:先确认本机,再确认链路,再确认 DNS 和端口,最后才抓包。工具本身不复杂,复杂的是每次都凭感觉乱试。按上面这个顺序走一遍,大多数网络问题都能在不重启服务的情况下找到根因。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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