PING命令中的-r参数使用IP头部的Time-To-Live (TTL) 字段来实现。TTL是一个8位的字段,表示在IP数据包在网络中传输时可以经过的最大路由器数。当一个路由器接收到一个IP数据包时,它会将TTL减1,并检查TTL的值是否小于等于0。如果TTL的值小于等于0,则路由器会丢弃该数据包并向源主机发送一个“Time Exceeded” ICMP消息。 当使用PING命令时,它发送一个带有指定目标IP地址的ICMP Echo Request消息。如果指定了-r参数,PING命令会逐渐增加TTL的值,从1开始,依次发送ICMP Echo Request消息。每次发送消息时,PING命令会等待接收到ICMP Echo Reply消息或“Time Exceeded” ICMP消息。如果接收到“Time Exceeded” ICMP消息,PING命令会将发送该消息的路由器的IP地址显示出来。 通过逐渐增加TTL的值并观察响应消息,PING命令可以确定数据包从源主机到目标主机的路径,并显示经过的每个节点的IP地址以及时延大小。
-r参数只对IPV4地址有效,现在有些网络设备已经使用IPV6地址,因此该命令的执行效果受到限制。
一、首先进行ping测
C:\Users>ping www.qq.com
正在 Ping ins-r23tsuuf.ias.tencent-cloud.net [2409:8702:4860:1002::33] 具有 32
字节的数据:
来自 2409:8702:4860:1002::33 的回复: 时间=136ms
来自 2409:8702:4860:1002::33 的回复: 时间=123ms
来自 2409:8702:4860:1002::33 的回复: 时间=21ms
来自 2409:8702:4860:1002::33 的回复: 时间=22ms
2409:8702:4860:1002::33 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 21ms,最长 = 136ms,平均 = 75ms
观察ping包正常。
二、继续更改参数进行ping测,得到IPV4地址:
C:\Users>ping -4 www.qq.com
正在 Ping www.qq.com [111.30.178.240] 具有 32 字节的数据:
来自 111.30.178.240 的回复: 字节=32 时间=17ms TTL=53
来自 111.30.178.240 的回复: 字节=32 时间=17ms TTL=53
来自 111.30.178.240 的回复: 字节=32 时间=15ms TTL=53
来自 111.30.178.240 的回复: 字节=32 时间=14ms TTL=53
111.30.178.240 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 14ms,最长 = 17ms,平均 = 15ms
三、对到达目标网站的路由进行路由跟踪:
C:\Users>tracert www.qq.com
通过最多 30 个跃点跟踪
到 www.qq.com [2409:8702:4860:1002::33] 的路由:
1 122 ms 170 ms 121 ms 2409:8a3c:6f3:64bc:6658:adff:fe1c:8c19
2 * * * 请求超时。
3 5 ms 3 ms 3 ms 2409:803c:0:807::4c
4 6 ms 4 ms 9 ms 2409:8080:0:2:903:951::
5 16 ms 15 ms 16 ms 2409:8080:0:1:903:3005:0:1
6 19 ms 20 ms 19 ms 2409:8080:0:2:3005:3072:0:1
7 19 ms 21 ms 19 ms 2409:8002:48:2::85
8 21 ms 20 ms 20 ms 2409:8002:48:2006::5
9 22 ms 21 ms 24 ms 2402:4e00:e01a:8140::12
10 128 ms 18 ms 17 ms 2402:4e00:f200:2::23:151
11 30 ms 20 ms 20 ms 2402:4e00:e01a:8400::885
12 22 ms 22 ms 21 ms 2409:8702:4860:1002::33
跟踪完成。
可以看到默认是IPv6的跟踪过程。
C:\Users>tracert -6 www.qq.com
通过最多 30 个跃点跟踪
到 ins-r23tsuuf.ias.tencent-cloud.net [2409:8702:4860:1002::33] 的路由:
1 70 ms <1 毫秒 1 ms 2409:8a3c:6f3:64bc:6658:adff:fe1c:8c19
2 * * * 请求超时。
3 3 ms 4 ms 4 ms 2409:803c:0:807::4c
4 7 ms 3 ms 3 ms 2409:8080:0:2:903:951::
5 16 ms 16 ms 17 ms 2409:8080:0:1:903:3005:0:1
6 29 ms 19 ms 20 ms 2409:8080:0:2:3005:3072:0:1
7 19 ms 20 ms 19 ms 2409:8002:48:2::85
8 18 ms 18 ms 23 ms 2409:8002:48:2006::5
9 22 ms 20 ms 22 ms 2402:4e00:e01a:8140::12
10 27 ms 20 ms 22 ms 2402:4e00:f200:2::23:151
11 31 ms 24 ms 22 ms 2402:4e00:e01a:8400::885
12 21 ms 22 ms 19 ms 2409:8702:4860:1002::33
跟踪完成。
下面改成IPv4方式:
C:\Users>tracert -4 www.qq.com
通过最多 30 个跃点跟踪
到 ins-r23tsuuf.ias.tencent-cloud.net [111.30.178.240] 的路由:
1 1 ms 1 ms 1 ms 192.168.1.1 [192.168.1.1]
2 5 ms 2 ms 2 ms 100.111.0.1
3 9 ms 6 ms * 223.99.132.233
4 * * * 请求超时。
5 16 ms 14 ms 14 ms 221.183.44.54
6 * * * 请求超时。
7 * * * 请求超时。
8 * * * 请求超时。
9 * * * 请求超时。
10 * * * 请求超时。
11 * * * 请求超时。
12 17 ms 17 ms 14 ms 111.30.178.240
跟踪完成。
根据上述命令得到,第二个节点的IPV4的地址,进而执行ping -r:
正在 Ping 100.111.0.1 具有 32 字节的数据:
来自 100.111.0.1 的回复: 字节=32 时间=16ms TTL=254
路由: 100.111.228.190 ->
100.111.0.1 ->
192.168.1.1
来自 100.111.0.1 的回复: 字节=32 时间=8ms TTL=254
路由: 100.111.228.190 ->
100.111.0.1 ->
192.168.1.1
来自 100.111.0.1 的回复: 字节=32 时间=4ms TTL=254
路由: 100.111.228.190 ->
100.111.0.1 ->
192.168.1.1
来自 100.111.0.1 的回复: 字节=32 时间=3ms TTL=254
路由: 100.111.228.190 ->
100.111.0.1 ->
192.168.1.1
100.111.0.1 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 3ms,最长 = 16ms,平均 = 7ms