Linux命令:traceroute
traceroute 命令
基本介绍
traceroute命令用于跟踪数据包从源主机到目标主机的网络路径,显示数据包经过的每一跳路由信息。它是 Linux 系统中常用的网络诊断工具之一,用于排查网络连接问题和了解网络拓扑。
资料合集:https://pan.quark.cn/s/6fe3007c3e95、https://pan.quark.cn/s/561de99256a5、https://pan.quark.cn/s/985f55b13d94、https://pan.quark.cn/s/d0fb20abd19a
语法
traceroute [选项] 目标常用选项
-I, --icmp:使用 ICMP 协议-U, --udp:使用 UDP 协议(默认)-T, --tcp:使用 TCP 协议-n, --numeric:以数字形式显示地址,不解析主机名-p, --port <端口>:指定目标端口-f, --first <跳数>:设置初始 TTL 值-m, --max-hops <跳数>:设置最大跳数-q, --queries <数量>:设置每个跳点发送的数据包数量-z, --sendwait <秒数>:设置发送数据包的间隔时间-w, --wait <秒数>:设置等待响应的超时时间-v, --verbose:详细模式,显示更多信息--help:显示帮助信息--version:显示版本信息
使用示例
1. 基本 traceroute 测试
traceroute192.168.1.12. 使用 ICMP 协议
traceroute-I192.168.1.13. 使用 TCP 协议
traceroute-T192.168.1.14. 禁用域名解析
traceroute-n192.168.1.15. 指定目标端口
traceroute-p80192.168.1.16. 设置最大跳数
traceroute-m30192.168.1.17. 设置每个跳点发送的数据包数量
traceroute-q3192.168.1.18. 设置发送数据包的间隔时间
traceroute-z1192.168.1.19. 设置等待响应的超时时间
traceroute-w2192.168.1.110. 详细模式
traceroute-v192.168.1.1输出格式说明
基本输出
traceroute to 192.168.1.1 (192.168.1.1), 30 hops max, 60 byte packets 1 192.168.0.1 (192.168.0.1) 0.543 ms 0.487 ms 0.512 ms 2 10.0.0.1 (10.0.0.1) 1.234 ms 1.123 ms 1.098 ms 3 192.168.1.1 (192.168.1.1) 2.345 ms 2.234 ms 2.123 ms输出解释
- 第一行:显示目标主机的 IP 地址、最大跳数和数据包大小
- 后续行:每行显示一个跳点的信息
- 第一列:跳数编号
- 第二列:主机名(如果启用了域名解析)
- 第三列:IP 地址
- 第四至第六列:三个数据包的往返时间(RTT)
相关命令
traceroute6:跟踪 IPv6 网络路径mtr:结合 ping 和 traceroute 的功能ping:测试网络连接ping6:测试 IPv6 网络连接netstat:显示网络状态ss:显示套接字统计信息ip:网络配置工具
注意事项
traceroute命令通常不需要 root 权限,但某些选项可能需要traceroute命令可能会被防火墙阻止,导致测试失败- 不同的网络协议(ICMP、UDP、TCP)可能会产生不同的结果
- 在某些系统上,
traceroute命令可能被命名为tracepath - 可以使用
man traceroute查看完整的命令手册
总结
traceroute命令是 Linux 系统中用于跟踪数据包网络路径的实用工具,它通过发送不同 TTL 值的数据包并记录响应来确定数据包从源主机到目标主机的路由路径。通过traceroute命令,用户可以了解网络拓扑、排查网络连接问题、识别网络瓶颈,对于网络故障排查和网络性能分析非常有帮助。
