traceroute命令 – 追踪网络数据包传输路径
traceroute命令来自英文词组“Trace router”的拼写,其功能是用于追踪网络数据包传输路径。执行tracerouter命令后会默认发送一个40字节大小的数据包到远程目标主机,从反馈信息我们可以得知数据包经过了哪些路径最终到达了终点。
语法格式:traceroute [参数] 域名或IP地址
常用参数:
-4 | 基于IPv4网络协议 |
-6 | 基于IPv6网络协议 |
-d | 使用Socket层级的排错功能 |
-f | 设置数据包的存活数值(TTL) |
-F | 设置勿离断位 |
-g | 设置来源路由网关 |
-i | 使用指定的网卡发送出数据包 |
-I | 使用ICMP回应取代UDP资料信息 |
-m | 检测数据包的最大存活数值(TTL) |
-n | 使用IP地址而非主机名称 |
-p | 设置UDP传输协议的通信端口 |
-r | 将数据包送到远端主机上 |
-s | 设置本地主机送出数据包的IP地址 |
-t | 设置检测数据包的TOS数值 |
-T | 使用TCP SYN进行探测 |
-U | 使用UDP到特定端口进行路由 |
-v | 显示执行过程详细信息 |
-V | 显示版本信息 |
-w | 设置等待远端主机回报的时间 |
-x | 开启或关闭数据包的正确性检验 |
参考示例
追踪本地数据包到指定网站经过的传输路径(默认):
[root@linux-arae-cc ~]# traceroute linux.arae.cc
追踪本地数据包到指定网站经过的传输路径,跳数最大为7次:
[root@linux-arae-cc ~]# traceroute -m 7 linux.arae.cc
追踪本地数据包到指定网站经过的传输路径,显示IP地址而不是主机名:
[root@linux-arae-cc ~]# traceroute -n linux.arae.cc
追踪本地数据包到指定网站经过的传输路径,探测包个数为4次:
[root@linux-arae-cc ~]# traceroute -q 4 linux.arae.cc
追踪本地数据包到指定网站经过的传输路径,最长等待时间为3秒:
[root@linux-arae-cc ~]# traceroute -w 3 linux.arae.cc