前言
排查网络问题时,我们往往需要用到一些好用的网络工具。我们一般最常用的网络用具命令就是 ping 啦,哈哈。那么除了 ping 命令外,还有哪些实用的工具命令呢?那就是 traceroute 命令。我们可以使用 traceroute 命令知道网络数据从主机A到主机B走的是什么路径。
正文
我们知道,多个网络数据包由某一同样的出发点(A)到达某一同样的目的地(B)所走的路径可能是不一样的,但是,大多数情况下,这些数据包所走的路由是相同的。linux系统中,traceroute 命令工具就是来追踪数据包的跳转路径的,在 windows 系统中是 tracert。
命令格式
traceroute 命令使用方式也非常简单,具体的命令格式可以参考如下:
traceroute [参数] [主机]
参数含义
traceroute 命令格式已经了解了,那么其中的参数都支持哪些设置呢?接下来具体看一下。
-d 使用Socket层级的排错功能。
-f 设置第一个检测数据包的存活数值TTL的大小。
-F 设置勿离断位。
-g 设置来源路由网关,最多可设置8个。
-i 使用指定的网络界面送出数据包。
-I 使用ICMP回应取代UDP资料信息。
-m 设置检测数据包的最大存活数值TTL的大小。
-n 直接使用IP地址而非主机名称。
-p 设置UDP传输协议的通信端口。
-r 忽略普通的Routing Table,直接将数据包送到远端主机上。
-s 设置本地主机送出数据包的IP地址。
-t 设置检测数据包的TOS数值。
-v 详细显示指令的执行过程。
-w 设置等待远端主机回报的时间。
-x 开启或关闭数据包的正确性检验。
实例演示
接下来,我们通过一个实际案例来演示一下 traceroute 命令的使用过程。我们来看一下自己的机器发送数据包到 baidu.com 服务器需要如何跳转。
liuzhen007:~ lz$ traceroute baidu.com traceroute: Warning: baidu.com has multiple addresses; using 220.181.38.148 traceroute to baidu.com (220.181.38.148), 64 hops max, 52 byte packets 1 192.168.3.1 (192.168.3.1) 2.098 ms 2.176 ms 0.945 ms 2 bogon (192.168.1.1) 1.981 ms 3.183 ms 1.589 ms 3 bogon (10.70.0.1) 4.424 ms 4.727 ms 4.866 ms 4 221.222.95.237 (221.222.95.237) 5.770 ms 6.276 ms 4.684 ms 5 61.149.203.205 (61.149.203.205) 6.681 ms * 202.96.12.21 (202.96.12.21) 9.203 ms 6 219.158.13.78 (219.158.13.78) 12.043 ms 219.158.3.2 (219.158.3.2) 13.938 ms * 7 219.158.44.134 (219.158.44.134) 6.917 ms 5.796 ms 6.032 ms 8 202.97.17.113 (202.97.17.113) 7.020 ms 202.97.17.125 (202.97.17.125) 7.977 ms 202.97.17.109 (202.97.17.109) 8.728 ms 9 36.110.245.186 (36.110.245.186) 9.220 ms 36.110.246.126 (36.110.246.126) 11.174 ms 36.110.246.142 (36.110.246.142) 10.250 ms 10 36.110.245.77 (36.110.245.77) 9.879 ms 36.110.249.58 (36.110.249.58) 36.326 ms 218.30.104.177 (218.30.104.177) 9.027 ms 11 * * * 。。。省略。。。 63 * * * 64 * * *
上面日志的意思是说数据包从本机到服务器最大需要经过64跳到达,使用了52字节数据包。
结尾
在排查日常网络问题时,我们可以通过 traceroute 命令工具来排查问题所在,确定是主机的问题还是网关的问题。好了,今天关于网络命令 traceroute 的介绍就到这里吧,晚安!我是 liuzhen007,欢迎大家关注我,分享更多网络知识。
作者简介:????大家好,我是 Data-Mining(liuzhen007),是一位典型的音视频技术爱好者,前后就职于传统广电巨头和音视频互联网公司,具有丰富的音视频直播和点播相关经验,对 WebRTC、FFmpeg 和 Electron 有非常深入的了解,????公众号:玩转音视频。同时也是 CSDN 博客专家、华为云享专家(共创编辑)、InfoQ 签约作者,欢迎关注我分享更多干货!????