软件测试远程Web项目时判断故障发生网内还是网外

发表于:2012-01-06来源:未知作者:娃娃点击数: 标签:web测试
前几天在测公司的外包项目(欧美)的时候,浏览器总是提示无法连接站点,于是下意识的用Ping来判断是否连通。刚开始以为是那边站点出了问题,但是其他人却能够正常访问,虽然公司内网有时不稳定,但也不至于长时间啊。由于需要亲自跑到机房重启“小锚”(路由的

  前几天在测公司的外包项目(欧美)的时候,浏览器总是提示无法连接站点,于是下意识的用Ping来判断是否连通。刚开始以为是那边站点出了问题,但是其他人却能够正常访问,虽然公司内网有时不稳定,但也不至于长时间啊。由于需要亲自跑到机房重启“小锚”(路由的配置IP公司是保密的),次数多了也嫌麻烦(本人也不算很勤劳的那类人)。心想要是能有个工具来判断是否内网/外网问题,我也好偷个懒少走点冤枉路。哈哈,终于今天让我给找到了,就是dos下的命令Tracert(跟踪路由),顺便也把它给了解个透彻。

  Tracert(跟踪路由)是路由跟踪实用程序,用于确定 IP 数据报访问目标所采取的路径。Tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由。

  原理:

  通过向目标发送不同 IP 生存时间 (TTL) 值的“Inte.net 控制消息协议 (ICMP)”回应数据包,Tracert 诊断程序确定到目标所采取的路由。要求路径上的每个路由器在转发数据包之前至少将数据包上的 TTL 递减 1。数据包上的 TTL 减为 0 时,路由器应该将“ICMP 已超时”的消息发回源系统。

  Tracert 先发送 TTL 为 1 的回应数据包,并在随后的每次发送过程将 TTL 递增 1,直到目标响应或 TTL 达到最大值,从而确定路由。通过检查中间路由器发回的“ICMP 已超时”的消息确定路由。某些路由器不经询问直接丢弃 TTL 过期的数据包,这在 Tracert 实用程序中看不到。

  Tracert 命令按顺序打印出返回“ICMP 已超时”消息的路径中的近端路由器接口列表。如果使用 -d 选项,则 Tracert 实用程序不在每个 IP 地址上查询 DNS。

  Sample:

  数据包必须通过7个路由器才能到达主机218.1.64.33。主机的默认网关是 10.10.1.252,218.1.0.0 网络上的路由器也有3个,最后一个IP地址是目标地址。

  Tracert命令的help:

  参数中文描述:

  (1)Do not resolve addresses to hostnames.(指定不将 IP 地址解析到主机名称)

  (2)Maximum number of hops to search for target.(指定跃点数以跟踪到称为 target_name 的主机的路由)

  (3)Loose source route along host-list (IPv4-only).(指定 Tracert 实用程序数据包所采用路径中的路由器接口列表)

  (4)Wait timeout milliseconds for each reply.(等待 timeout 为每次回复所指定的毫秒数)

  (5)target_name 目标主机的名称或 IP 地址

  使用经验:

  (1)Tracert 对于解决大网络问题非常有用,此时可采取几条路径到达同一个目标。

  (2)Tracert 也能够确定数据包在网络上的停止位置。如果从网关处报错(网关 reports:Destination net unreachable.), 这可能是路由器配置的问题,或者是目标网络不存在(错误的 IP 地址)。

  (3)另外,如果需要通过网络来测试远端Web系统,一旦网络出现问题,Tracert可以很快地缩小网络故障的范围。

原文转自:http://www.ltesting.net