先用ping测基础延迟和丢包,再用traceroute或mtr定位高延迟跳点,必要时用hping3绕过ICMP限制测TCP延迟,最后结合ss/iftop分析连接与流量异常。

直接用 ping 就能快速测出基础网络延迟,这是最常用也最有效的第一步。
用 ping 测往返时间(RTT)
它发 ICMP 请求包,等对方回一个响应,算出耗时。默认持续发送,按 Ctrl+C 停止:
- 测公网连通性:
ping 8.8.8.8或ping www.baidu.com - 只发 4 次就停:
ping -c 4 114.114.114.114 - 看是否丢包、每跳延迟是否稳定,重点关注
time=xx.x ms和packet loss
查路径上哪一跳开始变慢
如果 ping 延迟高或丢包,用 traceroute 或更实用的 mtr 定位卡点:
-
traceroute baidu.com:列出从你到目标经过的所有路由器,每跳显示三次延迟 -
mtr -rnc 10 baidu.com:汇总 10 次探测结果,直观看出哪一跳延迟突增或丢包率高 - 看到某跳开始出现
* * *或延迟飙升(比如从 10ms 跳到 300ms),问题大概率出在那一段链路
排除 ICMP 被屏蔽的情况
有些服务器禁了 ping,这时 hping3 可以走 TCP/UDP 协议模拟请求:
- 装好后试一次 TCP 连接延迟:
hping3 -S -p 443 -c 4 www.baidu.com - 输出里看
rtt字段,和 ping 类似,但绕过了 ICMP 限制 - 适合排查 Web 服务端口(如 80/443)的真实响应延迟
结合流量和连接状态辅助判断
延迟不是孤立指标,常和带宽占用、连接异常共存:
- 用
ss -s或netstat -s看有没有大量重传、连接超时、内存溢出等统计异常 - 跑
iftop实时看哪些 IP 或端口占着高延迟连接,确认是不是被某个进程拖慢 - 如果本地到网关延迟正常,但到外网就高,基本可排除本机网卡或配置问题
基本上就这些。先 ping 定基调,再 traceroute/mtr 找断点,必要时换协议验证,最后结合连接和流量交叉印证——不复杂但容易忽略细节。










