tracert traceroute查看网络路由

本文介绍如何在Windows和Linux系统中使用tracert和traceroute命令追踪数据包传输路径。这两种工具利用ICMP协议,通过逐渐增加TTL值来确定数据包经过的每个路由器。尽管大多数现代路由器出于安全考虑不会响应ICMP请求,但这些工具仍能在很多情况下揭示网络结构。

(一)windows:在windows中,打开cmd,利用tracert来追踪路由。
原理:tracert利用icmp协议,增加存活时间(TTL)值来实现其功能的。每当数据包经过一个路由器,其存活时间就会减1。当其存活时间是0时,主机便取消数据包,并发送一个ICMP TTL数据包给原数据包的发出者。
主叫方首先发出 TTL=1 的数据包,第一个路由器将 TTL 减1得0后就不再继续转发此数据包,而是返回一个 ICMP 逾时报文,主叫方从逾时报文中即可提取出数据包所经过的第一个网关地址。然后又发出一个 TTL=2 的 ICMP 数据包,可获得第二个网关地址,依次递增 TTL 便获取了沿途所有网关地址。
需要注意的是,并不是所有网关都会如实返回 ICMP 超时报文。出于安全性考虑,大多数防火墙以及启用了防火墙功能的路由器缺省配置为不返回各种 ICMP 报文,其余路由器或交换机也可被管理员主动修改配置变为不返回 ICMP 报文。因此 Traceroute 程序不一定能拿全所有的沿途网关地址。

C:\Users\joker>tracert baidu.com

通过最多 30 个跃点跟踪
到 baidu.com [123.125.115.110] 的路由:

  1     1 ms     1 ms     1 ms  172.28.171.254
  2     *        *        *     请求超时。
  3     2 ms     2 ms     2 ms  120.236.245.1
  4     3 ms     3 ms    18 ms  183.233.34.93
  5     7 ms     8 ms     *     211.136.210.29
  6     9 ms     9 ms     8 ms  221.183.13.205
  7    42 ms    45 ms    42 ms  221.176.24.250
  8     *       50 ms    51 ms  221.183.23.78
  9    50 ms    46 ms    48 ms  219.158.39.57
 10    53 ms    55 ms    55 ms  219.158.5.129
 11    51 ms    47 ms    56 ms  125.33.186.6
 12    47 ms    49 ms    47 ms  123.126.6.118
 13    49 ms    49 ms    48 ms  61.49.168.90
 14     *        *        *     请求超时。
 15    48 ms    44 ms    49 ms  123.125.115.110

(二)linux:linux中主要使用traceroute来追踪路由
原理:发出使用udp协议,接收使用icmp协议
利用了 UDP 数据包的 Traceroute 程序在数据包到达真正的目的主机时,就可能因为该主机没有提供 UDP 服务而简单将数据包抛弃,并不返回任何信息。为了解决这个问题,Traceroute 故意使用了一个大于 30000 的端口号,因 UDP 协议规定端口号必须小于 30000 ,所以目标主机收到数据包后唯一能做的事就是返回一个“端口不可达”的 ICMP 报文,于是主叫方就将端口不可达报文当作跟踪结束的标志。
由于大多数的路由器应为安全问题,只会在特定的端口开放udp端口,所以,traceroute往往得不到网关信息

[root@master ~]# traceroute baidu.com
traceroute to baidu.com (220.181.57.216), 30 hops max, 60 byte packets
 1  gateway (192.168.1.2)  0.160 ms  0.109 ms  0.103 ms
 2  * * *
 3  * * *
 4  * * *
 5  * * *
 6  * * *
 7  * * *
 8  * * *
 9  * * *
10  * * *
11  * * *
12  * * *
13  * * *
14  * * *
15  * * *
16  * * *
17  * * *
18  * * *
19  * * *
20  * * *
21  * * *
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *
   但是traceroute是如此的强大,可以选择使用的协议。使用icmp协议,只需要附带选项--icmp
[root@master ~]# traceroute --icmp baidu.com
traceroute to baidu.com (123.125.115.110), 30 hops max, 60 byte packets
 1  gateway (192.168.1.2)  0.124 ms  0.094 ms  0.123 ms
 2  xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx)  2.030 ms  2.683 ms  2.655 ms
 3  * * *
 4  14.215.222.1 (14.215.222.1)  3.141 ms  3.127 ms  3.110 ms
 5  59.38.16.185 (59.38.16.185)  7.053 ms  7.038 ms  7.022 ms
 6  117.176.37.59.broad.dg.gd.dynamic.163data.com.cn (59.37.176.117)  6.050 ms  6.239 ms  6.759 ms
 7  183.58.10.206 (183.58.10.206)  11.383 ms  8.321 ms  8.263 ms
 8  202.97.65.105 (202.97.65.105)  44.695 ms  44.686 ms  44.678 ms
 9  202.97.57.118 (202.97.57.118)  41.000 ms * *
10  219.158.44.125 (219.158.44.125)  48.152 ms  48.111 ms  48.075 ms
11  219.158.3.77 (219.158.3.77)  45.299 ms  45.284 ms  49.896 ms
12  202.96.12.82 (202.96.12.82)  45.702 ms  43.138 ms  43.776 ms
13  124.65.57.194 (124.65.57.194)  44.766 ms  44.747 ms  44.727 ms
14  123.125.248.46 (123.125.248.46)  144.885 ms * *
15  * * *
16  * * *
17  123.125.115.110 (123.125.115.110)  40.863 ms  41.588 ms  41.020 ms

参考文章:
https://zh.wikipedia.org/wiki/Traceroute

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值