测试远程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: