学习Linux的路由跟踪命令——traceroute命令(linux路由跟踪命令)

Linux的路由跟踪命令——traceroute,它用来检测一台主机到另一台主机之间的数据包的路由情况。它能够帮助你测试网络的通断性,观察跳数和测量延迟,从而更好地理解网络性能。

traceroute命令在运行时会发送UDP(端口号是2000)到目标主机,如果在域上关掉UDP 2000端口,将会导致traceroute命令无法正常运行,因此应当确保该端口是开放状态的。

使用traceroute命令时,你需要指定要跟踪的目标主机,它支持IPv4的查询:

$ traceroute 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets
1 172.19.1.1 (172.19.1.1) 0.427 ms 0.334 ms 0.300 ms
2 10.128.195.1 (10.128.195.1) 2.581 ms 2.540 ms 2.541 ms
3 192.168.9.2 (192.168.9.2) 6.411 ms 6.375 ms 6.412 ms
4 8.8.8.8 (8.8.8.8) 6.386 ms 6.355 ms 6.351 ms
```
以上命令表示从本主机连接到Google的IP 8.8.8.8的路由经过了四跳,并且出现了三次延迟值,分别是0.427毫秒、2.581毫秒和6.411毫秒。每一跳都显示了一台路由器的IP地址,而最后一跳则是目标主机的IP地址。

另外traceroute的功能还支持TTL(Time-To-Live超时时间),它表示UDP数据包在网络上传播的转数,能够更好地显示网络中跳数的数目:

$ traceroute -T 8.8.8.8

traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets

1 172.19.1.1 (172.19.1.1) 0.427 ms 0.334 ms 0.300 ms

2 10.128.195.1 (10.128.195.1) 2.590 ms 2.550 ms 2.541 ms

3 192.168.9.2 (192.168.9.2) 6.384 ms 6.369 ms 6.371 ms

4 8.8.8.8 (8.8.8.8) 6.386 ms 6.355 ms 6.351 ms


TTL可以为traceroute命令增强更多的功能,例如,traceroute可以根据据TTL生成图形可视化:

$ traceroute -g 8.8.8.8 -w output.png


这个图形可视化图中会显示路由的全部跳数及所消耗的时间,非常有利于我们了解网络拓扑关系及网络性能表现。

总的来说,traceroute命令非常有用,它运用UDP的TTL属性,使得我们可以检测并可视化网络跳数,通过这个命令,我们可以更好地理解网络性能,并可以及时解决网络问题。

数据运维技术 » 学习Linux的路由跟踪命令——traceroute命令(linux路由跟踪命令)