使用Ping检测网络连通性与延迟,通过ICMP请求判断是否可达及响应时间;2. 若Ping超时则网络不通,部分丢包或高延迟反映链路不稳定或节点处理慢;3. Traceroute追踪数据包路径,利用TTL递增定位中断节点;4. 结合两者可区分本地、中间链路或目标问题,如Ping通但网站打不开需排查DNS或端口。

当Linux系统出现网络连接异常时,快速定位问题所在是关键。Ping和Traceroute是两个最基础且高效的网络诊断工具,它们能帮助你判断是本地网络、中间链路还是目标服务器的问题。
Ping:检测网络连通性与延迟
Ping通过发送ICMP回显请求包到目标主机并等待响应,来测试网络是否通畅以及往返延迟情况。它是排查网络问题的第一步。
常用用法:-
基本连通性测试:执行
ping www.baidu.com查看是否能收到回复。如果显示“Network is unreachable”或持续超时(timeout),说明网络不通。 -
指定次数:使用
ping -c 4 target_ip发送4次后自动停止,适合脚本中调用。 -
设置包大小:用
ping -s 1000 target_ip测试大包传输是否正常,可发现MTU相关问题。 -
持续监控:长时间运行
ping可观察网络波动,如丢包率上升或延迟突增。
Traceroute:追踪数据包路径
Traceroute用于显示数据包从本机到目标主机所经过的每一跳(hop)路由器,帮助识别网络中断的具体位置。
工作原理:它利用IP包的TTL(生存时间)字段,从TTL=1开始递增发送探测包,每经过一个路由器TTL减1,归零时路由器返回“Time Exceeded”消息,从而记录下该跳的IP地址。
-
基础使用:
traceroute www.example.com显示完整路径。 -
IPv6支持:使用
traceroute6或traceroute -6处理IPv6地址。 -
TCP模式:某些网络过滤UDP/ICMP,可用
traceroute -T -p 80 target基于TCP协议探测。 -
限制最大跳数:
traceroute -m 20 target避免在异常路由中无限循环。
- 某跳开始持续星号(* * *)→ 该节点或之后链路存在问题。
- 中间某跳延迟突然升高 → 可能是瓶颈节点或策略限速。
- 路径中途改变 → 存在动态路由调整,可能引发短暂中断。
结合使用定位问题
单独使用Ping只能知道通不通,而Traceroute能告诉你“卡在哪”。两者配合可高效缩小排查范围。
典型场景示例:- Ping不通但本地能上网 → 运行
traceroute看哪一跳断掉。若前几跳正常,问题可能出在运营商骨干网或目标端。 - 内网服务器无法访问外网 → 先
ping 网关检查本地链路;再逐级向外trace,确认出口是否正常。 - 网站打不开但IP可ping通 → 可能是DNS问题或服务未监听,需进一步用curl或telnet检查端口。
基本上就这些。掌握Ping和Traceroute的基本用法和输出含义,就能应对大多数日常网络故障排查。不复杂但容易忽略细节,比如防火墙拦截ICMP、中间设备不响应TTL超时等,需要结合实际情况灵活判断。










