公司 VPN 网关都过滤了 ICMP,ping 是不通的,恼火完了之后想到可以从 connect() 入手,看一下连接主机某个端口要多长时间,精度足够了。别去写 code,有现成的工具 netcat,在 Linux 系统上基本上是标配,用端口扫描选项 "-z" 去连 www 端口 80 可也。
$ host example.org
example.org has address 208.77.188.166
$ time nc -z 208.77.188.166 80
real 0m0.075s
user 0m0.000s
sys 0m0.000s
先解析出 IP 是为了更精确的,不计算域名解析的时间。