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

[摘要] 本文主要介绍测试远程Web项目时如何来判断故障发生网内还是网外。

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

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

原理:

通过向目标发送不同 IP 生存时间 (TTL) 值的“Internet 控制消息协议 (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可以很快地缩小网络故障的范围。




免责声明:

本站系本网编辑转载,会尽可能注明出处,但不排除无法注明来源的情况,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与本网联系, 来信: liujun@soft6.com 我们将在收到邮件后第一时间删除内容!

[声明]本站文章版权归原作者所有,内容为作者个人观点,不代表本网站的观点和对其真实性负责,本站拥有对此声明的最终解释权。