您好,欢迎来到化拓教育网。
搜索
您的当前位置:首页尽可能的追踪路径traceroute -I

尽可能的追踪路径traceroute -I

来源:化拓教育网

icrosoft使用ICMP,所以win95上发出的traceRT应使用的是ICMP,但我没有用 sniffer查过;其它包括unix和cisco router都使用UDP.

  ICMP traceroute :
  ===========
  使用ICMP Echo Request , Echo Reply and TTL-expired .

  源发出 ICMP
  Equest,第一个request的TTL为1,第二个request的TTL为2,以后依此递增直至第30个;中间的router送回ICMP TTL-expired ( ICMP type 11)通知source,(packet同时因TTL超时而被drop),由此source知晓一路上经过的每一个router;最后的 destination送回ICMP Echo Reply 。

  所以中间任何一个router上如果封了ICMP Echo Request , traceroute就不能工作 ;如果封了type 11 (TTL-expired), 中间的router全看不到 ,但能看到packet 到达了最后的destination;如果封了ICMP Echo Reply,中间的全能看到,最后的destination看不到 。

  UDP traceroute: 
  ==========
  使用ICMP TTL-expired (type 11), ICMP port unreachable (type 3, code 3), UDP
  port >32768 .

  source发出UDP packet, source port使用随机的任何大于32768的高段port, destination port从33434开始每送个probe依此递增,直至33434+29,(cisco router上使用extended-traceroute命令可以修改这个起始的33434 port #),
  同时TTL从1开始依此递增,直至1+29=30(最多送30个probe)。中间的router送回 ICMP TTL-expired,使得source得知了中间的每一个router,最后的destination送回TTL-expired 和ICMP port unreachable (因为任何主机上都没有应用使用UDP port# >32768这样的高段port )。

  所以中间某处封掉UDP port>32768回导致traceroute不工作 ;封掉TTL超时会使source看不到中间的router(有的router根本不支持回送TTL超时);封掉type3 code3可能看不到destination .

  另外需要知道的是,由于回送TTL-expired的信息需要CPU生成一个packet,必须打断 CPU,为保证其它工作的正常进行,cisco router每隔一秒才处理traceroute ,所以在source 上你可能看到中间一路 * * *,但却看得到最后的destination. 这时你应知道这是中间的router CPU太忙或者中间路由器不回送TTL-expired包的原因 ,不必大惊小怪的。:-)

Copyright © 2019- huatuo9.cn 版权所有 赣ICP备2023008801号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务