一文搞懂tracert在windows和linux上的使用方法,腾讯T2大佬手把手教你

  • 参数说明

  • 使用说明

    • 实例1:traceroute 用法简单、最常用的用法
  • 实例2:跳数设置

  • 实例3:显示IP地址,不查主机名

  • 实例4:探测包使用的基本UDP端口设置6888

  • 实例5:把探测包的个数设置为值4

  • 实例6:把对外发探测包的等待响应时间设置为3秒

tracert在windows下使用

=================================================================================

功能说明


Tracert(跟踪路由)是路由跟踪实用程序,用于确定 IP 数据包访问目标所采取的路径。Tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由。

简单来说就是查看 从当前主机到目的主机之间经过了多少个路由器、路由IP是什么?

参数命令 可以 在命令板输入 tracert /? 查看:

在这里插入图片描述

tracert命令对于了解包括解决大型网络非常使用,它能摸索所处大型局域网里网络拓扑架构,除了一些禁止ping的路由器(一般出口路由器或者防火墙上)。

tracert命令功能同Ping类似,但它所获得的信息要比Ping命令详细得多,它把数据包所走的全部路径、节点的IP以及花费的时间都显示出来。该命令比较适用于大型网络。

使用说明


tracert 先发送 TTL 为 1 的回应数据包,当数据包上的 TTL在路由器收到后TTL自动减1 ,一旦某个服务器将TTL减1后,等于了0,路由器应该将“ICMP Time Exceeded”的消息发回源计算机,源计算机就根据收到的信息判断达到的路由器和所用时间。下次再次发送数据包时,将TTL递增 1,继续上述测试,直到目标响应或 TTL 达到最大值,从而确定路由。通过检查中间路由器发回的“ICMP 已超时”的消息确定路由。某些路由器不经询问直接丢弃 TTL过期的数据包,这在 Tracert 实用程序中看不到,我们会显示请求超时的请求信息。

命令格式:tracert hostname

  • 如:查看 baidu.com的路由

可以直接 tracert hostname 即可!!!!

在这里插入图片描述

traceroute在linux下使用

==================================================================================

功能说明


敲黑板!!!

注意: tracert 是在windows 上使用的,linux下命令是 traceroute !!!

简单来说就是查看 从当前主机到目的主机之间经过了多少个路由器、路由IP是什么?

Traceroute的工作原理:

Traceroute程序的设计是利用ICMP及IP header的TTL(Time To Live)栏位(field)。首先,traceroute送出一个TTL是1的IP datagram(其实,每次送出的为3个40字节的包,包括源地址,目的地址和包发出的时间标签)到目的地,当路径上的第一个路由器(router)收到这个datagram时,它将TTL减1。此时,TTL变为0了,所以该路由器会将此datagram丢掉,并送回一个「ICMP time exceeded」消息(包括发IP包的源地址,IP包的所有内容及路由器的IP地址),traceroute 收到这个消息后,便知道这个路由器存在于这个路径上,接着traceroute 再送出另一个TTL是2 的datagram,发现第2 个路由器… traceroute 每次将送出的datagram的TTL 加1来发现另一个路由器,这个重复的动作一直持续到某个datagram 抵达目的地。当datagram到达目的地后,该主机并不会送回ICMP time exceeded消息,因为它已是目的地了,那么traceroute如何得知目的地到达了呢?

Traceroute在送出UDP datagrams到目的地时,它所选择送达的port number 是一个一般应用程序都不会用的号码(30000 以上),所以当此UDP datagram 到达目的地后该主机会送回一个「ICMP port unreachable」的消息,而当traceroute 收到这个消息时,便知道目的地已经到达了。所以traceroute 在Server端也是没有所谓的Daemon 程式。

Traceroute提取发 ICMP TTL到期消息设备的IP地址并作域名解析。每次 ,Traceroute都打印出一系列数据,包括所经过的路由设备的域名及 IP地址,三个包每次来回所花时间。

参数说明

1.命令格式:

traceroute[参数][主机]

2.命令功能:

traceroute指令让你追踪网络数据包的路由途径,预设数据包大小是40Bytes,用户可另行设置。

具体参数格式:traceroute [-dFlnrvx][-f<存活数值>][-g<网关>…][-i<网络界面>][-m<存活数值>][-p<通信端口>][-s<来源地址>][-t<服务类型>][-w<超时秒数>][主机名称或IP地址][数据包大小]

3.命令参数:

-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 开启或关闭数据包的正确性检验。

使用说明


实例1:traceroute 用法简单、最常用的用法

命令:traceroute www.baidu.com

[root@control ~]$traceroute baidu.com

traceroute to baidu.com (220.181.38.148), 30 hops max, 60 byte packets

1 10.233.3.252 (10.233.3.252) 2.063 ms 1.993 ms 5.028 ms

2 10.233.83.249 (10.233.83.249) 8.017 ms 8.325 ms 8.696 ms

3 10.237.232.6 (10.237.232.6) 0.582 ms 0.519 ms 0.453 ms

4 10.237.232.89 (10.237.232.89) 0.626 ms 0.576 ms 0.548 ms

5 211.139.72.77 (211.139.72.77) 7.556 ms 7.953 ms 8.337 ms

6 * * *

7 221.176.20.201 (221.176.20.201) 1.685 ms 221.183.38.205 (221.183.38.205) 1.642 ms 221.176.20.201 (221.176.20.201) 1.484 ms

8 221.176.26.41 (221.176.26.41) 85.199 ms 85.054 ms 221.183.36.13 (221.183.36.13) 65.519 ms

9 * * *

10 * 221.183.65.226 (221.183.65.226) 76.016 ms *

11 202.97.88.225 (202.97.88.225) 75.868 ms 202.97.57.49 (202.97.57.49) 78.598 ms 202.97.88.225 (202.97.88.225) 79.354 ms

12 180.149.159.10 (180.149.159.10) 70.698 ms 180.149.128.50 (180.149.128.50) 85.678 ms *

13 220.181.16.62 (220.181.16.62) 74.389 ms * *

14 * * *

15 * * *

16 * * *

17 * * *

18 * * *

19 * * *

20 * * *

21 * * *

22 * * *

23 * * *

24 * * *

25 * * *

26 * * *

27 * * *

28 * * *

29 * * *

30 * * *

[root@control ~]$

说明:

记录按序列号从1开始,每个纪录就是一跳 ,每跳表示一个网关,我们看到每行有三个时间,单位是 ms,其实就是-q的默认参数。探测数据包向每个网关发送三个数据包后,网关响应后返回的时间;如果您用 traceroute -q 4 www.58.com ,表示向每个网关发送4个数据包。

有时我们traceroute 一台主机时,会看到有一些行是以星号表示的。出现这样的情况,可能是防火墙封掉了ICMP的返回信息,所以我们得不到什么相关的数据包返回数据。

有时我们在某一网关处延时比较长,有可能是某台网关比较阻塞,也可能是物理设备本身的原因。当然如果某台DNS出现问题时,不能解析主机名、域名时,也会 有延时长的现象;您可以加-n 参数来避免DNS解析,以IP格式输出数据。

如果在局域网中的不同网段之间,我们可以通过traceroute 来排查问题所在,是主机的问题还是网关的问题。如果我们通过远程来访问某台服务器遇到问题时,我们用到traceroute 追踪数据包所经过的网关,提交IDC服务商,也有助于解决问题;但目前看来在国内解决这样的问题是比较困难的,就是我们发现问题所在,IDC服务商也不可能帮助我们解决。

实例2:跳数设置

命令:traceroute -m 10 www.baidu.com

输出:

aceroute to www.baidu.com (61.135.169.121), 10 hops max, 60 byte packets

1 10.233.3.252 (10.233.3.252) 1.365 ms 1.239 ms 2.225 ms

2 localhost (10.233.83.249) 4.774 ms 5.128 ms 5.513 ms

3 bogon (10.237.232.6) 0.604 ms 0.579 ms 0.489 ms

4 localhost (10.237.232.89) 0.573 ms 0.537 ms 0.521 ms

5 211.139.72.77 (211.139.72.77) 6.062 ms 6.332 ms 6.725 ms

6 211.139.74.201 (211.139.74.201) 1.565 ms 1.851 ms 1.767 ms

7 221.176.20.201 (221.176.20.201) 1.586 ms 221.183.38.205 (221.183.38.205) 1.500 ms 1.422 ms

8 221.176.26.41 (221.176.26.41) 63.683 ms * *

9 * * *

10 219.158.39.61 (219.158.39.61) 69.765 ms 219.158.34.229 (219.158.34.229) 76.791 ms 219.158.34.21 (219.158.34.21) 69.572 ms

实例3:显示IP地址,不查主机名

命令:traceroute -n www.baidu.com

输出:

[root@control ~]$ traceroute -n www.baidu.com

traceroute to www.baidu.com (61.135.169.121), 30 hops max, 60 byte packets

1 10.233.3.252 1.410 ms 1.274 ms 1.223 ms

2 10.233.83.249 17.704 ms 18.045 ms 18.354 ms

3 10.237.232.6 0.593 ms 0.558 ms 0.489 ms

4 10.237.232.89 0.571 ms 0.535 ms 0.543 ms

5 211.139.72.77 6.208 ms 6.428 ms 6.742 ms

6 * * *

7 221.183.38.205 1.374 ms 1.357 ms 1.315 ms

8 221.176.26.41 62.630 ms 62.459 ms *

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)
img

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

91787568)]

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

  • 19
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值