mtr 是 linux 下测试网络延迟的实用工具,结合 traceroute 与 ping 功能,可实时查看路径节点的延迟与丢包情况。1. 基础用法:运行 mtr example.com 可查看每跳 ip、响应时间与丢包率,默认使用 icmp 协议,按 q 退出,加 -r 输出报告,--max-hops 限制跳数;2. 进阶设置:-i 调整探测间隔,-s 设置报文大小以贴近真实流量;3. 绕过 icmp 限制:使用 -t 指定 tcp 协议(如 -p 80)或 -u 使用 udp 协议;4. 自动化诊断:通过脚本批量测试多个目标并记录结果,适合监控与故障排查。

Linux下测试网络延迟,mtr 是一个非常实用的工具。它结合了 traceroute 和 ping 的功能,可以实时查看每个节点的延迟和丢包情况,非常适合用来诊断网络问题。

如果你只是想简单看一下到目标主机的网络路径和延迟情况,可以直接使用:

mtr example.com
运行后,你会看到每一跳的 IP、响应时间(ms)、丢包率等信息。默认情况下,mtr 使用 ICMP 协议进行探测,也可以指定 UDP 或 TCP。
几个小技巧:

q 可以退出 mtr 实时界面。-r 参数可以输出报告模式,适合保存日志或分析结果。--max-hops 来设定最大追踪跳数。有时候,默认的探测频率和报文大小可能不够准确,尤其是遇到某些防火墙过滤小包的情况。
你可以通过以下方式调整:
-i 参数,比如 -i 0.5 表示每 0.5 秒发送一次探测包。-s 设置报文大小,例如 -s 1400 发送 1400 字节的数据包,模拟真实业务流量。这样做的好处是可以更贴近实际网络状况,避免因为小包被特殊处理而误判网络状态。
有些服务器或网络设备会屏蔽 ICMP 请求(也就是 ping 不通),这时候可以用 TCP 或 UDP 模式来探测。
TCP 模式: 加上 -T 参数,并指定端口,例如:
mtr -T -p 80 example.com
UDP 模式: 使用 -u 参数:
mtr -u example.com
需要注意的是,UDP 模式在某些系统上可能需要 root 权限才能运行,而且不同系统的支持程度也略有差异。
如果你要对多个目标做统一测试,或者定时收集数据,可以写个简单的 shell 脚本来调用 mtr。
比如:
#!/bin/bash
for host in "example.com" "test.com" "demo.org"; do
echo "Testing $host"
mtr -r -c 10 $host >> network_report.txt
done上面这个脚本会对三个域名各做 10 次探测,并将结果记录到文件中。这种做法很适合用于监控或故障排查初期阶段,帮助你快速了解整体网络状况。
基本上就这些,mtr 虽然看起来简单,但灵活运用起来能解决不少实际问题。像设置协议类型、调整探测参数这些细节,虽然不复杂,但在特定场景下特别有用。
以上就是如何测试Linux网络延迟 mtr诊断工具高级用法的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号