非凡云 发表于 2025-5-7 14:29:39

Traceroute网络诊断命令

本帖最后由 非凡云 于 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
1192.168.1.1 (192.168.1.1)1.234 ms1.456 ms1.678 ms
210.10.10.1 (10.10.10.1)5.678 ms6.123 ms6.789 ms
3* * *
4203.0.113.45 (203.0.113.45)20.123 ms21.456 ms22.789 ms
572.14.238.1 (72.14.238.1)30.000 ms31.000 ms32.000 ms
...traceroute的输出结果通常分为多行,每行代表一个跳点(即数据包经过的路由器或主机)。字段解析1、跳数,跳点的序号从1开始。2、节点信息,跳点的IP地址若显示 *,表示该探测包未收到响应(可能被防火墙拦截或节点未回复)。3、主机名,如果使用了-n选项,则不会显示主机名。4、延迟时间,每跳默认发送3个探测包,分别代表三次尝试到达该跳点所需的时间。若某次探测超时,显示 *(如第 3 跳)。
四、Traceroute 使用示例1、追踪到目标主机 traceroute www.ffy.com2、使用UDP模式追踪到目标主机(需要root权限)sudo traceroute -U www.ffy.com3、绕过 DNS 解析,直接显示IP地址(加快输出) traceroute -n www.ffy.com4、指定协议(Linux)traceroute -I google.com # 使用 ICMP(类似 ping)traceroute -T -p 80 www.ffy.com # 使用 TCP SYN 到 80 端口5、设置查询次数 traceroute -q 5 www.ffy.com # 把探测包的个数设置为56、设置最大跳数traceroute -m 5 www.ffy.com
关于 traceroute 命令的详情讲解请看:Traceroute网络诊断工具详解

小凡服务器 发表于 2025-5-7 16:07:25

@非凡云 多写些技术文章
页: [1]
查看完整版本: Traceroute网络诊断命令