traceroute
traceroute
是一种网络诊断命令,用于确定 IP 数据包从源到目的地所需经过的路径。它通过发送特殊的 IP 数据包来确定中间路由器的数量和响应时间。当出现网络问题时,traceroute 通常用于检查问题发生的位置。下面是 traceroute 命令的详细介绍:
语法:
traceroute [options] <目标IP或主机名>
选项:
-
-U
:使用 UDP 数据包而不是 ICMP 回显请求。 -
-T
:使用 TCP SYN 包而不是 UDP 数据包。 -
-I
:使用 ICMP 协议进行探测,默认为 UDP 协议。 -
-n
:不解析 IP 地址到主机名。 -
-w 秒数
:设置超时时间,单位为秒,默认为5秒。 -
-q 数量
:指定发送数据包的数量,默认为3个。 -
-m 数量
:指定数据包的 TTL 值,默认为30。
工作原理:
traceroute 命令使用发送的 UDP 数据包,每个数据包上面的 TTL 字段递增,直到到达目的主机。每当 TTL 达到下一跳路由器时,该路由器会将数据包丢弃,并发送一个 ICMP 时间戳回显应答消息(TTL 超时)。traceroute 利用此消息确定它到达了哪个路由器。使用此方法,traceroute 可以确定路由路径上的所有路由器,以及发送和接收响应消息所需的时间。
局限性:
- 在某些网络环境下,traceroute 可能会被防火墙或路由器配置阻止。
- 由于路由器可能使用不同的算法来选择路由,因此在不同的路由器上运行的 traceroute 可能会显示不同的路径。
- 在某些情况下,traceroute 可能无法识别中间路由器的所有 IP 地址,因为路由器可能配置为使用不同的 IP 地址响应 ICMP TTL 超时消息。
示例:
使用 traceroute 命令查询到达ip/host 的路由路径:
$ traceroute -n -T ip/host -p port # TCP测试$ traceroute -n -U ip/host -p port # UDP测试
判断traceroute返回结果是否正常:
Traceroute是一种网络诊断工具,用于确定数据包从源地址到目标地址所经过的路由器路径。在traceroute的输出结果中,每个路由器都会显示其IP地址、名称(如果可用)和延迟时间(以毫秒为单位)。以下是判断traceroute返回结果是否正常的一些方法:
- 查看延迟时间:如果延迟时间比较小且延迟时间没有明显的跳跃,则说明网络连接正常。如果延迟时间非常大或者存在跳跃,说明存在网络延迟或丢包问题。
- 查看IP地址:如果IP地址与目标地址不匹配,则说明数据包可能被路由到了错误的网络或被阻挡了。
- 查看跃点数:如果跃点数过多,说明数据包可能经过了太多的路由器,导致延迟时间增加。
- 查看是否存在超时:如果有路由器没有回应,则说明该路由器可能出现了故障或配置问题。
- 对比多次执行结果:如果多次执行traceroute的结果都相同,则说明网络连接比较稳定。如果每次执行结果都不同,则说明网络连接不稳定,可能存在丢包或延迟问题。
需要注意的是,traceroute结果的解释需要基于具体的网络环境和目标地址来进行分析。因此,在分析traceroute输出结果时,需要综合考虑各种因素,并结合实际情况来判断网络连接是否正常。
- 正常例子:
[root@SRV083]# traceroute -n -T 10.19.176.16 -p 22traceroute to 10.19.176.16 (10.19.176.16), 30 hops max, 60 byte packets 1 10.33.22.254 0.660 ms 0.789 ms 0.945 ms 2 10.2.19.254 1.286 ms 0.932 ms 0.937 ms 3 10.2.242.17 0.340 ms 10.2.242.143 0.358 ms 0.295 ms 4 10.2.242.226 1.630 ms 1.355 ms 1.469 ms 5 * * * 6 10.99.34.214 0.750 ms 0.607 ms 0.596 ms 7 * * * 8 * * * 9 * * *10 * * *11 * * *12 * * *13 * * *14 * * *15 10.19.176.16 39.407 ms 39.514 ms 39.480 ms
- 异常例子:
[root@SRV083]# traceroute -n -T 10.19.176.13 -p 22traceroute to 10.19.176.13 (10.19.176.13), 30 hops max, 60 byte packets 1 10.33.22.254 0.542 ms 0.724 ms 0.907 ms 2 10.2.19.254 0.895 ms 1.250 ms 1.619 ms 3 10.2.242.17 0.484 ms 0.451 ms 0.513 ms 4 10.2.242.100 1.030 ms 1.830 ms 1.027 ms 5 * * * 6 10.99.34.202 1.244 ms 1.201 ms 0.835 ms 7 * * * 8 * * * 9 * * *10 * * *11 * * *12 * * *13 * * *14 * * *15 * * *16 * * *17 * * *18 * * *19 * * *20 * * *21 * * *22 * * *23 * * *24 * * *25 * * *26 * * *27 * * *28 * * *29 * * *30 * * *