Linux 系统扫描技术及安全防范 之 traceroute

本文详细解释了traceroute的基本原理,包括IP路由过程中的TTL处理、数据包发送与接收等关键步骤。同时,展示了如何使用traceroute命令进行网络路径追踪,并通过实例演示了不同参数选项对命令行为的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

traceroute的工作原理

traceroute, 也就是 trace route,跟踪路由。这个程序最早是Van Jacobson实现的。主要的原理是IP路由过程中对数据包TTL(Time to Live,存活时间)的处理。当路由器收到一个IP包时,会修改IP包的TTL(及由此造成的头部检验和checksum变化)。每收到一个包,检查这个 的TTL是否是0或1。如果是,表明这个包还没有到达目的地,而且剩余时间不多了,肯定是到不了目的地了。这样路由器就简单地丢弃这个包,并给源主机发送 ICMP通知,说这个包已经超时了。ICMP的通知信息里包含当前路由器发送时所用的IP。
  这样就可以通过构造数据包,来间接检查到 达一个主机时经过了哪些路由。一开始发送一个TTL为1的包,这样到达第一个路由器的时候就已经超时了,第一个路由器就发通知说包超时,这样就可以记录下 所经过的第一个路由器的IP。然后TTL加1,安全通过第一个路由器,而第二个路由器的的处理与第一个相同,丢包,发通知说包超时了,这样记录下第二个路 由器IP,由此可以一直进行下去,直到这个数据包到达目标主机,由此打印出所有经过的路由器。
  traceroute工作原理

使用命令

[root@hadoop Desktop]# traceroute www.baidu.com
traceroute to www.baidu.com (115.239.210.27), 30 hops max, 60 byte packets
 1  Andy.mshome.net (192.168.137.1)  0.121 ms * *
 2  192.168.0.1 (192.168.0.1)  1.863 ms  3.900 ms  6.245 ms
 3  Broadcom.Home (192.168.1.1)  4.677 ms  6.384 ms  6.350 ms
 4  114.84.180.1 (114.84.180.1)  8.863 ms  8.783 ms  8.682 ms
 5  124.74.57.245 (124.74.57.245)  11.740 ms  11.637 ms  11.489 ms
 6  124.74.215.61 (124.74.215.61)  60.648 ms  57.037 ms  57.056 ms
 7  202.101.63.134 (202.101.63.134)  110.930 ms  111.366 ms  111.271 ms
 8  202.97.55.2 (202.97.55.2)  9.242 ms  9.428 ms  9.303 ms
 9  61.164.31.174 (61.164.31.174)  16.697 ms 61.164.31.178 (61.164.31.178)  11.233 ms 220.191.135.98 (220.191.135.98)  11.783 ms
10  115.233.23.206 (115.233.23.206)  13.424 ms  13.327 ms 115.233.23.246 (115.233.23.246)  111.320 ms
11  115.239.209.22 (115.239.209.22)  9.955 ms  10.218 ms  11.142 ms
12  * * *
13  * * *
14  * * *
15  * * *
16  * * *
17  * * *
18  * * *
19  * * *
20  * * *
21  * * *
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *

ps:
默认会有30跳,当然是可以使用参数改变跳数。
默认使用UDP协议方式来发送包,例子中不能显示到达的目的主机,说明www.baidu.com 针对UDP协议的侦测是屏蔽的

[root@hadoop Desktop]# traceroute -n www.baidu.com
traceroute to www.baidu.com (115.239.210.27), 30 hops max, 60 byte packets
 1  192.168.137.1  0.800 ms * *
 2  192.168.0.1  2.826 ms  5.484 ms  5.432 ms
 3  192.168.1.1  4.789 ms  5.445 ms  6.211 ms
 4  114.84.180.1  11.463 ms  11.986 ms  11.940 ms
 5  124.74.57.245  94.214 ms  95.796 ms  95.750 ms
 6  124.74.215.61  96.691 ms  97.042 ms  95.189 ms
 7  202.101.63.134  194.203 ms  194.839 ms  194.785 ms
 8  202.97.55.2  93.773 ms  94.580 ms  89.221 ms
 9  61.164.31.174  88.752 ms 61.164.13.130  91.757 ms 61.164.13.134  109.216 ms
10  61.164.13.186  109.355 ms 115.233.23.210  109.495 ms 115.233.23.206  108.673 ms
11  115.239.209.22  110.122 ms  109.876 ms  108.468 ms
12  * * *
13  * * *
14  * * *
15  * * *
16  * * *
17  * * *
18  * * *
19  * * *
20  * * *
21  * * *
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *

ps:-n 可以去查一些不需要的信息,如主机名,只留下主机地址

[root@hadoop Desktop]# traceroute -In www.baidu.com
traceroute to www.baidu.com (115.239.210.27), 30 hops max, 60 byte packets
 1  192.168.137.1  0.183 ms * *
 2  * * *
 3  192.168.1.1  3.095 ms  3.060 ms  2.939 ms
 4  114.84.180.1  9.871 ms  10.263 ms  10.692 ms
 5  124.74.57.245  108.148 ms  108.063 ms  108.663 ms
 6  124.74.215.61  107.381 ms * *
 7  61.152.86.82  111.622 ms  112.191 ms  103.815 ms
 8  * * *
 9  220.191.135.122  82.548 ms  83.259 ms  82.675 ms
10  115.233.23.254  79.210 ms  78.831 ms  78.707 ms
11  115.239.209.22  116.130 ms  115.850 ms  115.744 ms
12  * * *
13  115.239.210.27  89.825 ms  89.644 ms  98.922 ms

ps:
-I 使用ICMP协议发送包
当使用ICMP协议方式发包时,第13跳,显示了达到的目的主机,说明www.baidu.com针对ICMP协议的侦测包是没有进行屏蔽的

[root@hadoop Desktop]# traceroute -T -p 80 -n www.baidu.com
traceroute to www.baidu.com (115.239.210.27), 30 hops max, 60 byte packets
 1  192.168.137.1  0.146 ms * *
 2  192.168.0.1  6.733 ms  8.316 ms  8.218 ms
 3  192.168.1.1  6.694 ms  7.433 ms  7.379 ms
 4  114.84.180.1  166.208 ms  166.423 ms  166.289 ms
 5  124.74.57.245  10.817 ms  10.722 ms  10.624 ms
 6  124.74.215.61  47.588 ms  47.447 ms  42.182 ms
 7  202.101.63.242  9.390 ms  8.717 ms  8.514 ms
 8  202.97.82.14  19.384 ms  19.175 ms  12.587 ms
 9  61.164.31.222  8.015 ms  8.499 ms  9.163 ms
10  115.233.23.230  10.347 ms  11.656 ms  10.316 ms
11  115.239.209.38  11.746 ms  11.495 ms  10.198 ms
12  * * *
13  115.239.210.27  8.750 ms  10.785 ms  9.864 ms

ps:
-T 使用Tcp协议的数据包
-p 侦测80端口(默认的http开发端口)
-n 去除解析信息(主机名),只留主机地址
当使用TCP协议方式发包事,第13跳显示了到达的目的主机

分析总结

  • 1.traceroute默认UDP方式
  • 2.使用参数改变发包方式,
    • -I 使用ICMP协议方式
    • -T 使用TCP协议方式
  • 3.当使用其中一种方式发现不能显示达到的主机时,说明这种协议方式的侦测包是被目的主机屏蔽的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值