还在用ping测通不通?试试mtr吧!

MTR的名称来源是My TraceRoute,原来源是Matt’s TraceRoute。mtr是一个网络诊断工具,将ping和traceroute命令的功能合二为一。

命令ping着重查看到目标节点的延迟。

ping 8.8.8.8 
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. 
64 bytes from 8.8.8.8: icmp_seq=2 ttl=106 time=245 ms 
64 bytes from 8.8.8.8: icmp_seq=4 ttl=106 time=245 ms 
... ...

命令traceroute可以查看数据包经过的每一个节点(或者说每一跳(hop))的信息。

traceroute -n 8.8.8.8 
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets 
1 192.168.1.1 1.229 ms 1.143 ms 1.055 ms 2 117.30.114.1 133.626 ms 133.606 ms 134.264 ms 
... ... 
12 108.170.237.45 252.366 ms 209.85.252.245 282.760 ms 209.85.240.31 282.729 ms 
13 8.8.8.8 241.518 ms 241.971 ms 250.866 ms

对于数据包从源到目的地所经过的每个节点,mtr都会记住。而后向这些节点发送ICMP数据包,通过ICMP响应数据包来获取这些节点的网络信息(如延迟、丢包率等)。大多数情况下mtr检测网络信息时使用的数据包是ICMP数据包,不过也可以是TCP或者UDP数据包。