老板让我在Linux中使用traceroute排查服务器网络问题,幸好我收藏了这篇文章!
内容提要
本文介绍了traceroute命令的使用技巧。首先介绍了traceroute命令的基本用法,然后讲解了如何更改等待时间、收发数据包的数量、最大跳数、TTL开始值、禁用主机名到IP地址的映射、更改跟踪路由目的端口、更改最大数据包大小、启用IPv4和IPv6跟踪、使用ICMP ECHO以及将traceroute信息保存到文件。总结了traceroute命令是一个有用且易于运行的网络诊断工具。
延伸解读
traceroute 与 ping 的差异
文章指出 traceroute 类似于 ping,都用于诊断网络连通性,但 traceroute 输出的信息更加详细,可以跟踪从源系统到目标系统的路径。这意味着当 ping 只能判断目标是否可达时,traceroute 能进一步显示数据包经过的每一台路由器及其响应时间,帮助定位路径中的具体节点。
参数调整的实际意义
文章介绍了多个参数:-w 更改等待时间(默认3秒)、-q 更改收发数据包数量(默认3个)、-m 更改最大跳数(默认30,可扩展到255)、-f 更改TTL起始值、-n 禁用主机名到IP地址映射、-p 更改目的端口(默认80)、-I 使用ICMP ECHO。这些参数让 traceroute 能适应不同排查场景,例如减少等待时间加快输出,或禁用映射让结果更简洁。
最大数据包大小的限制
文章说明默认最大数据包为60字节,可以通过在命令后直接加数字来调整。但需要注意,这个数字只能用来限制最大大小,而不是设置多大。如果设置的值小于跟踪包的最小大小(28字节),则不会生效,实际仍为28字节。这一点在调整包大小时容易误解。
IPv4 与 IPv6 跟踪及结果保存
文章提到可以使用 -4 和 -6 参数分别启用 IPv4 和 IPv6 跟踪。在示例中,使用 -6 跟踪某网站时发现其未支持 IPv6。此外,traceroute 的输出可以通过重定向保存到文件,例如 traceroute www.wljslmz.cn > wljslmz.txt,便于离线分析。
Q&A
traceroute命令的基本用法是什么?
traceroute命令的基本用法是traceroute host,可以显示到达目的地的路由器列表。
如何更改traceroute命令的等待时间?
可以使用-w参数来更改traceroute的等待时间,默认是3秒,例如traceroute -w 1 www.wljslmz.cn将等待时间改为1秒。
traceroute命令如何禁用主机名到IP地址的映射?
可以使用-n参数来禁用主机名到IP地址的映射,例如traceroute -n www.wljslmz.cn。
traceroute命令的最大跳数如何更改?
可以使用-m参数来更改最大跳数,默认最大为30,可以扩展到255,例如traceroute -m 10 www.wljslmz.cn将最大跳数改为10。
如何将traceroute的输出保存到文件中?
可以使用重定向符号将traceroute信息保存到文件中,例如traceroute www.wljslmz.cn > wljslmz.txt。
traceroute命令支持哪些协议?
traceroute命令可以使用-4和-6参数分别启用IPv4和IPv6跟踪。