本帖最后由 非凡云 于 2025-5-7 14:32 编辑
一、安装 traceroute
sudo apt install traceroute # Debian/Ubuntu sudo yum install traceroute # Red Hat/CentOS
二、traceroute 语法 traceroute [选项] <目标主机或IP> 选项参数: -I:使用ICMP Echo模式发送数据包,这是traceroute命令的默认模式。 -U:使用UDP模式发送数据包。该模式下的traceroute命令需要以root权限运行。 -T:使用TCP模式发送数据包。该模式下的traceroute命令需要以root权限运行。 -n:不要解析IP地址为主机名,以IP地址形式显示主机名,加快输出速度。 -s 源地址:指定源地址,可以是主机名或IP地址。 -p 端口号:指定源端口,默认端口号通常为33434(UDP模式)。 -q 查询次数:每跳发送的探测包数量,默认值为3。每次查询会增加TTL值,直到到达目标主机或达到最大的TTL值。 -m 跳数:设置最大的TTL值,默认值为30。该值指定了数据包能经过的最大路由器数量。当数据包的TTL值达到该值时,数据包会被丢弃。 -w 等待时间:指定每个数据包的超时时间。
三、traceroute 输出结果 traceroute to google.com (142.250.189.174), 30 hops max, 60 byte packets
1 192.168.1.1 (192.168.1.1) 1.234 ms 1.456 ms 1.678 ms
2 10.10.10.1 (10.10.10.1) 5.678 ms 6.123 ms 6.789 ms
3 * * *
4 203.0.113.45 (203.0.113.45) 20.123 ms 21.456 ms 22.789 ms
5 72.14.238.1 (72.14.238.1) 30.000 ms 31.000 ms 32.000 ms
... traceroute的输出结果通常分为多行,每行代表一个跳点(即数据包经过的路由器或主机)。 字段解析 1、跳数,跳点的序号从1开始。 2、节点信息,跳点的IP地址若显示 *,表示该探测包未收到响应(可能被防火墙拦截或节点未回复)。 3、主机名,如果使用了-n选项,则不会显示主机名。 4、延迟时间,每跳默认发送3个探测包,分别代表三次尝试到达该跳点所需的时间。若某次探测超时,显示 *(如第 3 跳)。
四、Traceroute 使用示例1、追踪到目标主机 2、使用UDP模式追踪到目标主机(需要root权限) 3、绕过 DNS 解析,直接显示IP地址(加快输出) 4、指定协议(Linux) traceroute -I google.com # 使用 ICMP(类似 ping) 5、设置查询次数 6、设置最大跳数
|