linux下tracert命令的作用

我记得有一次,我坐在办公室里,电脑屏幕上突然出现网络连接问题。
页面被卡住了,仿佛被某种神秘的力量卡住了。
我打开终端并输入熟悉的tracert命令。
几秒钟后,一系列 IP 地址出现在屏幕上,就像密码一样,显示了数据包从我的计算机到服务器的路径。
我看到了每个关节,它们的延迟,就像看到每个关节背后的心跳一样。
突然,我发现某个节点的延迟异常高,好像某个特定的网络连接出现了问题。
我深吸了一口气,决定进一步调查一下,看看这个关节是否有什么问题。
等等,还有一件事,我突然想到,如果这个节点是公司的主路由器,这不是一个大问题吗?我需要立即通知网络管理员。

什么命令可以用于跟踪路径

上次我在家看直播,网络突然堵塞,我无法再观看直播了。
我就在想,是不是网线中间断了?正想着,突然想起电脑上有一个Tracert命令。
快速打开电脑,搜索命令,输入“tracert”和主播直播地址,然后回车。
于是,屏幕上立即显示出一条蜿蜒的道路,并标明了每一站的延误时间。
嘿嘿,难怪,中间有个站,时间还真长,估计是卡在中间了。

linux tracert命令

嘿,我们来谈谈这个traceroute命令。
这个东西在Linux系统中特别有用,和Windows中的tracert有类似的功能。
说实话,当我第一次接触这个东西的时候,我很困惑。
毕竟两个系统的命令名称听起来很相似,但功能却不同。

原理有点复杂,但我会尽量让它变得简单。
Traceroute 通过增加数据包的生存时间 (TTL) 来工作。
每次经过路由器时,TTL 都会减 1 一旦 TTL 达到 0,路由器就会丢弃数据包并向发送方发送 ICMPTTL 回显。
这样我们就可以知道数据包走了哪些路由。

命令格式为:traceroute [参数] [主机]。
默认情况下,数据包大小为 4 0 字节,但您可以根据需要调整它。

有很多设置,例如:
d:这是socket级调试功能。

f:设置第一个数据包的TTL大小。

F:设置“请勿中断”位。

g:定义源路由网关,最多可定义8 个。

i:指定使用哪个网络接口发送数据包。

I:用 ICMP 响应替换 UDP 数据。

m:设置数据包的最大生存期。

n:直接使用IP地址,不解析域名。

p:指定UDP通信端口。

r:跳过通常的路由表,直接发送到目标主机。

s:设置发送数据包的本机IP地址。

t:设置 TOS(服务类型)值。

v:详细显示执行过程。

w:设置等待目标主机响应的时间。

x:启用或禁用数据包正确性检查。

这个东西非常有用,尤其是在排除网络问题时。
之前遇到过几次,都是用这个命令来查找网络延迟问题的。
我记得当时我在北京,帮助一家公司解决网站访问速度慢的问题,我就使用了这个traceroute来定位滞后节点。
现在想起来,真是太奇妙了。