traceroute 命令介绍和使用案例
traceroute
命令是 Linux 和 Unix 系统中用于追踪数据包从源到目的地的路径信息的工具。它显示数据包在网络中经过的所有路由器的 IP 地址,并显示每个路由器的往返时间(RTT)。
基本信息
-
命令:
traceroute
-
用途:追踪数据包到达目的主机的路由信息
- 默认数据包大小:40 字节
常用选项
-
-d:使用 Socket 层级的排错功能。
-
-f<存活数值>:设置第一个检测数据包的 TTL(Time to Live)大小。
-
-F:设置勿离断位。
-
-g<网关>:设置来源路由网关,最多可设置 8 个。
-
-i<网络界面>:使用指定的网络界面发送数据包。
-
-l:使用 ICMP 回应取代 UDP 数据信息。
-
-m<存活数值>:设置检测数据包的最大 TTL 大小。
-
-n:直接使用 IP 地址而非主机名称。
-
-p<通信端口>:设置 UDP 传输协议的通信端口。
-
-r:忽略普通的 Routing Table,直接将数据包发送到远端主机。
-
-s<来源地址>:设置本地主机发送数据包的 IP 地址。
-
-t<服务类型>:设置检测数据包的 TOS(Type of Service)数值。
-
-v:详细显示指令的执行过程。
-
-w<超时秒数>:设置等待远端主机回报的时间。
- -x:开启或关闭数据包的正确性检验。
安装部署
命令参数
使用案例
1.追踪到指定主机的路径
traceroute example.com
这将显示数据包从本地主机到 example.com
的路径。
2.使用数字显示每1条的IP地址
traceroute -n example.com
这将以数字形式显示每一跳的 IP 地址,而不进行 IP 地址到主机名的反向解析。
3.设置最大TTL
traceroute -m 30 example.com
这将设置最大 TTL 为 30,防止数据包无限循环。
4.使用ICMP回应
traceroute -I example.com
这将使用 ICMP Echo 请求,并显示每个路由器的往返时间(RTT)。
5.指定源IP地址
traceroute -s source_ip example.com
这将使用指定的源 IP 地址发起追踪。
6.设置等待时间
traceroute -w 2 example.com
这将设置等待每一跳的最大时间为 2 秒。
7.追踪IPV6地址
traceroute -6 example.com
这将追踪到指定主机的 IPv6 地址。