ping
能够用来检测达到另一个主机的连通性,据此咱们可能:

  1. 判断网络连接是否通顺;
  2. 获取某个域名的IP地址;
  3. 依据time值获取网络的响应速度;
  4. 依据ttl值判断数据包通过的路由器数量。
macbook:~ aaron$ ping baidu.comPING baidu.com (220.181.38.148): 56 data bytes64 bytes from 220.181.38.148: icmp_seq=0 ttl=52 time=32.157 ms64 bytes from 220.181.38.148: icmp_seq=1 ttl=52 time=34.663 ms64 bytes from 220.181.38.148: icmp_seq=2 ttl=52 time=32.626 ms--- baidu.com ping statistics ---4 packets transmitted, 4 packets received, 0.0% packet lossround-trip min/avg/max/stddev = 32.157/32.971/34.663/0.991 ms

以上通过ping百度的域名,失去其IP地址为220.181.38.148;响应工夫小于50毫秒,阐明网速失常。

后面的文章咱们讲到,在不同的网段间转发数据包是由路由器实现的。这里的TTL是 Time To Live的缩写,示意IP包被路由器抛弃之前,容许通过的最大网段数量。不同的操作系统初始值可能不一样,但均为2的N次方。
这里咱们应用离返回值52最近的2^6也就是64作为初始值,那么途中则通过的路由器数量能够用64-52=12来计算失去。

traceroute
用来检测到指标主机之间所通过的路由器数量。首先,它发送一份TTL(存活工夫)为1的数据包给目标主机,解决这个数据包的第一个路由器将TTL值减1,而后抛弃该数据报,并返回一个蕴含路由器IP地址的ICMP报文,而后顺次减少TTL的值持续。

macbook:~ aaron$ traceroute -q 1 114.114.114.114traceroute to 114.114.114.114 (114.114.114.114), 64 hops max, 52 byte packets 1  192.168.0.1 (192.168.0.1)  2.908 ms 2  192.168.1.1 (192.168.1.1)  3.831 ms 3  58.208.178.1 (58.208.178.1)  5.278 ms 4  218.4.30.205 (218.4.30.205)  7.611 ms 5  221.224.235.61 (221.224.235.61)  7.858 ms 6  10.255.61.9 (10.255.61.9)  8.547 ms 7  61.155.228.158 (61.155.228.158)  13.068 ms 8  * 9  *

这里-q示意每次发送一个包,星号示意的行,可能是因为防火墙封掉了ICMP的返回信息。