可使用traceroute、traceroute6、mtr、tcptraceroute和tracepath五种工具诊断网络延迟与路由路径:traceroute用于IPv4,traceroute6或traceroute -6用于IPv6,mtr提供实时动态追踪,tcptraceroute绕过UDP过滤,tracepath无需root权限且内置MTU发现。
如果您在Linux系统中需要诊断网络延迟并确定数据包从源主机到目标主机所经过的路径,则可以使用traceroute工具来追踪路由路径。以下是实现此目的的多种方法:
一、使用traceroute命令追踪IPv4路由路径
traceroute通过发送具有递增TTL(Time To Live)值的数据包,利用中间路由器返回的ICMP“超时”消息,逐跳识别路径上的每一台设备。该命令默认基于UDP探测,适用于大多数IPv4网络环境。
1、打开终端,输入以下命令并回车:traceroute example.com
2、若需指定探测包数量,添加-c参数:traceroute -c 3 example.com
3、如需以IP地址形式显示结果(避免DNS解析延迟),添加-n参数:traceroute -n example.com
二、使用traceroute命令追踪IPv6路由路径
当目标主机仅支持IPv6或网络链路为纯IPv6环境时,需使用专门的IPv6版本traceroute命令,确保协议匹配与正确响应解析。
1、确认系统已安装支持IPv6的traceroute(通常为traceroute6或traceroute -6):
2、执行IPv6追踪:traceroute6 example.com
3、或使用统一命令加协议标识:traceroute -6 example.com
三、使用mtr实时动态追踪路由路径
mtr是traceroute和ping的结合体,持续发送探测包并实时更新每跳的丢包率、延迟波动与响应状态,适合长时间观测链路稳定性。
1、安装mtr(如未预装):sudo apt install mtr(Debian/Ubuntu)或sudo yum install mtr(CentOS/RHEL)