Linux下网络排查之ping|traceroute|mtr工具(zz)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux下网络排查之ping|traceroute|mtr工具(zz)相关的知识,希望对你有一定的参考价值。

 

1.ping

ping使用了ICMP回送请求和回送应答报文。ping工具发出去的数据包没有通过tcp/udp协议,但是要经过ip协议。ping命令计算的时间是数据包的往返总时间。

ping命令常用的选项如下:

 

[plain] view plain copy
 
  1. -c num  ——表示使用ping发出去num个数据包  
  2. -n   ——表示ping的输出中包含主机信息的都用ip表示,不在进行ip和主机名之间的映射,那样ping的响应速度会更快  
  3. -s packetsize   ——指定ping发出去的数据包的大小,单位是B.  如果不配置此选项将默认为56B  
  4. -t  ttl  ——设定数据包在网络上传输的Time To Live(TTL)生命周期  
  5. -f   ——快速ping,Flood ping,发送接收ICMP Echo报文的频率快了非常多  

 

举例如下:

 

[plain] view plain copy
 
  1. ping -c 3 -s 512 www.baidu.com     #表示向www.baidu.com发送3个512B大小的数据包,来进行网络探测  
  2. ping -f www.baidu.com    #快速ping  

 

 

2.traceroute

traceroute也是使用ICMP协议,使用了ICMP的时间超过差错差错报告报文以及ICMP终点不可达报文。对于ICMP协议,其原理为:

技术分享

 

traceroute的重要选项有:

 

[plain] view plain copy
 
  1. -U   ——使用UDP协议来探测,这是默认的检测协议。  
  2. -I   ——使用ICMP协议来探测  
  3. -T   ——使用TCP协议来探测  

 

使用举例如下:

 

[plain] view plain copy
 
  1. traceroute www.baidu.com  

 

备注,使用traceroute返回的每行信息中有三个时间值,那是因为对于每个节点或者路由器,源端发了三次探测请求。

 

3.mtr

在Linux中有一个更好的网络连通性判断工具,它可以结合ping | nslookup | tracert 来判断网络的相关特性,这个命令就是mtr

使用格式:

 

[plain] view plain copy
 
  1. mtr [options] hostname  

 

常用的选项:

 

[plain] view plain copy
 
  1. -r     ——将mtr设置为报告模式,追踪结果以报告模式输出。若没有-r显现,那么将进入mtr的实时交互模式。  
  2. -c num ——定义追踪的次数,每次是1s,且-c必须和-r配合使用,默认的10次。    

 

使用举例:

(1)mtr的实时显示模式

[plain] view plain copy
 
  1. mtr 202.108.33.94  
(2)mtr的报告模式
[plain] view plain copy
 
  1. [[email protected] ~]# mtr -r 202.108.33.94  
  2. FOCUS9097                         Snt: 10    Loss%  Last   Avg  Best  Wrst StDev  
  3. 220.181.61.252                                0.0%   6.8   3.3   1.8   7.4   2.2  
  4. 220.181.17.217                                0.0%   0.4   0.5   0.4   0.7   0.1  
  5. 220.181.16.17                                 0.0%   0.6   0.5   0.5   0.6   0.0  
  6. 202.97.53.14                                 10.0%   0.7   0.7   0.7   0.8   0.0  
  7. 219.158.35.1                                  0.0%   0.8   0.8   0.8   0.9   0.0  
  8. 219.158.5.81                                  0.0%   1.2   1.3   1.2   1.6   0.1  
  9. 123.126.0.138                                 0.0%   1.2   1.1   1.1   1.3   0.1  
  10. 61.148.153.126                                0.0%   1.9  10.5   1.5  89.9  27.9  
  11. 61.148.143.22                                 0.0%   1.5   1.6   1.5   1.7   0.0  
  12. 210.74.178.198                                0.0%   1.6   1.6   1.5   1.9   0.1  
  13. 202.108.33.94                                 0.0%   1.5   1.5   1.4   1.5   0.0  
输出解释:

第一列:显示的是IP地址和本机域名,这点和tracert很像
第二列:snt:10 设置追踪的次数,默认值是10 可以通过参数 -c来定制,例如mtr -r -c 15 202.108.33.94
第三列 Loss: 是显示的每个对应IP的丢包率
第四列 Last: 显示的最近一次的返回时延
第五列 Avg : 是平均值 这个应该是发送ping包的平均时延
第六列 Best: 是最好或者说时延最短的
第七列 Wrst: 是最差或者说时延最常的
第八列 StDev: 是标准偏差

 
 







以上是关于Linux下网络排查之ping|traceroute|mtr工具(zz)的主要内容,如果未能解决你的问题,请参考以下文章

手把手教你搭建应用的网络诊断模块——Ping与TraceRoute

介绍一个好用的网络工具traceroute命令

Linux traceroute 原理及使用

Linux traceroute 原理及使用

Linux--网络命令/常用命令--ping/netstat/ifconfig/iptables/arp/tracepath/traceroute/tracert/route/nbstat/tftp(

网络问题的排查方法(包括Linux和Windows)