tracert与traceroute的差别

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

【原创】tracert与traceroute的差别

网络协议分析2009-05-26 19:34 windows下的tracert和linux/BSD/router下的traceroute都用于探测数据包从源到目的经过路由的IP,但两者探测的方法却有差别。

默认情况下,tracert是向目的地址发出ICMP请求回显数据包,而traceroute是向目的地址的某个端口(大于30000)发送UDP数据报。两者用于探测的数据类型不同。但他们也有一个共同点:都是通过设置发送包的TTL的值从1开始、逐次增1的方法来探测(此方法在“实验分析Traceroute程序的工作过程”一文中已经详细说明)。

由于一个是向目标发送ICMP,一个是向目标发送UDP(traceroute可以通过使用参数“-I “来改变发送的数据包为ICMP)。那么当通信途中有防火墙阻止ICMP或UDP通过时,探测过程就不能完成。实验验证如下:

拓扑图:

实验验证过程:

一、验证traceroute当遇到阻止UDP数据通过时,探测结束

1、PC1(LINUX或BSD或用路由器代替)、R0、R1、Firewall、PC2均配置好网关或路由,

保证PC1能与PC2正常通信。

2、在Firewall中不添加任何规则的情况下,在PC1中运行traceroute 172.16.0.11,结果如下:

在PC1与R0之间抓包结果如下:

从上图可以看到traceroute发送的探测数据使用的是UDP。

3、在Firewall中添加访问控制,禁止所有的UDP数据通过F0/1进入。firewall可以简单的使用路由器启用ACL代替,ACL编号为111,内容为:

deny udp any host 172.16.0.11

permit ip any any

然后在firewall的F0/1接口中使用下述命令启用规则:

ip access-group 111 in

4、在PC1上traceroute 172.16.0.11,由于firewall中添加了阻止UDP通过,探测过程将终止于firewall。结果如下图:

由于firewall阻止UDP通过,因此探测过程将结束。

二、验证tracert遇到ICMP请求回显阻止时,探测过程将结束

1、PC1使用WINDOWS系统

2、firewall上不使用任何限制规则时,PC1 tracert 172.16.0.11,结果如下图示:

在PC1和R0间抓包结果如下:

从上图中可以看出tracert使用的是ICMP回显请求方式探测。

3、在firewall的F0/1接口中启用禁止到172.16.0.11的ICMP回显请求的访问列表:

deny icmp any host 172.16.0.11

4、在PC1上tracert 172.16.0.11,由于firewall上禁止ICMP通过,因此探测过程将终止于此。运行结果如下图示:

验证试验完成。

相关文档
最新文档