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

来源:互联网 发布:尬是什么意思 网络 编辑:程序博客网 时间:2024/05/20 21:57

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.comtraceroute 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 ms10  115.233.23.206 (115.233.23.206)  13.424 ms  13.327 ms 115.233.23.246 (115.233.23.246)  111.320 ms11  115.239.209.22 (115.239.209.22)  9.955 ms  10.218 ms  11.142 ms12  * * *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.comtraceroute 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 ms10  61.164.13.186  109.355 ms 115.233.23.210  109.495 ms 115.233.23.206  108.673 ms11  115.239.209.22  110.122 ms  109.876 ms  108.468 ms12  * * *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.comtraceroute 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 ms10  115.233.23.254  79.210 ms  78.831 ms  78.707 ms11  115.239.209.22  116.130 ms  115.850 ms  115.744 ms12  * * *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.comtraceroute 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 ms10  115.233.23.230  10.347 ms  11.656 ms  10.316 ms11  115.239.209.38  11.746 ms  11.495 ms  10.198 ms12  * * *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.当使用其中一种方式发现不能显示达到的主机时,说明这种协议方式的侦测包是被目的主机屏蔽的
0 0