在部署F系统的时候,往往需要快速知道被部署的主机能否访问外网应用服务器。然而,此服务器是不响应ICMP包的,也就是ping是看不到连通与否的(如下图)。ping也非没用,可以判断域名服务器(DNS)可否正确解析此服务器ip地址。

大家都知道一个“传统”的方法,telnet协议连接外网服务器的443端口。外网服务器443端口自然是开放的(响应发自应用的https请求),telnet得到的应答是空:一个黑屏。尴尬的地方是自Windows7开始,系统默认不再安装telnet客户端。换句话说,往往运行结果是这样(如下图)。

头疼医头的话是去Windows7添加安装telnet客户端。但这样周折一番,是否有点喧宾夺主,牛刀杀鸡了。还好有一个tracert:trace(追踪) route(路由,rt)。使用方法,tracert + 目标服务器(域名,或ip)。大概而言,tracert相当于是做了一次ping去连外网服务器,但不同于ping就简单一个结果,而是将这次走的路线(各个路由点)都记下来了(如下图)。

上图是一个连接成功的例子,下面的超时说明到了最后一个路由点(15)的服务器不再响应了(其实16就是外网应用服务器)。从前面一部分(也就是到外网应用服务器所在机房之前的区域)的ip或者反向解析的域名(主机名),就能看出走到了什么地方。
因为实际往往是被部署主机(由于网络管理限制)根本没有出去外网,这种情况下一般从1开始查看后面的ip都是私有地址(如上图中192.168.168.1)。如果不清楚ip属于什么地址,可以使用在线查询(推荐ipip.net)。
以后也不怕被对方网管忽悠说网通了。。。