快捷搜索:   服务器  PHP  安全  IIS  linux 安全

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

1.ping

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

ping命令常用的选项如下:

  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报文的频率快了非常多  

举例如下:

  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协议,其原理为:

20150719233723658.png


traceroute的重要选项有:

  1. -d 使用Socket层级的排错功能。

  2. -f 设置第一个检测数据包的存活数值TTL的大小。

  3. -F 设置勿离断位。

  4. -g 设置来源路由网关,最多可设置8个。

  5. -i 使用指定的网络界面送出数据包。

  6. -I 使用ICMP回应取代UDP,与-U\-T是互斥关系。

  7. -m 设置检测数据包的最大存活数值TTL的大小,也就是改变跳数,默认只检测30跳。

  8. -n 直接使用IP地址而非主机名称。

  9. -p 设置UDP传输协议的通信端口。

  10. -q 改变每一次主机之间路由传送包的次数,最大为10

  11. -r 忽略普通的Routing Table,直接将数据包送到远端主机上。

  12. -s 设置本地主机送出数据包的IP地址。

  13. -t 设置检测数据包的TOS数值。

  14. -T 使用TCP协议来探测,与-U\-I是互斥关系,另外TCP协议默认是80端口,而LINUX下1024以下端口需要管理员ROOT权限才能执行,因此需注意权限。

  15. -U 使用UDP协议来探测,这是默认的检测协议

  16. -v 详细显示指令的执行过程。

  17. -w 设置等待远端主机回报的时间。

  18. -x 开启或关闭数据包的正确性检验。

使用举例如下:

  1. traceroute www.bnxb.com  

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


3.mtr

在Linux中有一个更好的网络连通性判断工具,它可以结合ping | nslookup | tracert 来判断网络的相关特性,这个命令就是mtr,注意:MTR需要ROOT权限来执行

使用格式:

  1. mtr [options] hostname  

常用的选项:

  1. -r     ——将mtr设置为报告模式,追踪结果以报告模式输出。若没有-r显现,那么将进入mtr的实时交互模式。  

  2. -c num ——定义追踪的次数,每次是1s,且-c必须和-r配合使用,默认的10次。    

使用举例:

(1)mtr的实时显示模式

  1. mtr 202.108.33.94  

(2)mtr的报告模式

  1. [root@10.10.90.97 ~]# 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: 是标准偏差


顶(0)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论