L68.linux命令每日一练 -- 第十章 Linux网络管理命令 -- ping和traceroute

10.9 ping:测试主机之间网络的连通性

10.9.1 命令详解

【命令星级】 ★★★★★

【功能说明】

​ ping命令可用于测试主机之间网络的连通性。执行ping命令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而可得知该主机运作正常。

【语法格式】

ping [option] [destination]
ping [选项] [目标主机]

​ **说明:**在ping命令及后面的选项和目标主机里,每个元素直接都至少要有一个空格。

【选项说明】

​ 表10-10针对该命令的参数选项进行了说明。

​ 表10-10 ping命令的参数选项及说明

在这里插入图片描述

10.9.2 使用范例

​ **范例10-33:**测试到目标主机的网络连通性。

[root@centos7 ~]# ping www.baidu.com	#ping命令之间接域名或IP,会一直显示ping的结果。
PING www.a.shifen.com (14.215.177.38) 56(84) bytes of data.	#显示ping的域名及其IP地址,发送的是56字节的数据。
64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=1 ttl=128 time=35.0 ms	#此表格目标主机收到的数据是64字节,icp_seq是收到包的序列号,ttl是数据表的生存期,time是时延、
64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=2 ttl=128 time=34.8 ms
64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=3 ttl=128 time=38.5 ms
64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=4 ttl=128 time=37.6 ms
^C	#直到Ctrl+c强制终止。
--- www.a.shifen.com ping statistics ---
#这里是ping的统计结果。
4 packets transmitted, 4 received, 0% packet loss, time 3006ms	#发了4个包,收到4个包,丢失0%的包,实际为3006ms。
rtt min/avg/max/mdev = 34.873/36.505/38.530/1.595 ms
#rtt是传输的时间延迟。min/avg/max/mdev是最小/平均/最大/算术平均差。

扩展知识:

​ 1)ping命令会显示一个时间作为衡量网络延迟的参数,以判断源主机与目标主机之间网络的质量。

​ 2)ping命令的输出信息中含有TTL值。TTL(Time To Life)称为生存期,它是ICMP报文的生存期各不相同,常见的生存期为32、64、128和256等。TTL值反映了ICMP报文所能够经过的路由器数目,每经过一个路由器,路由器都会将其数据包的生存期减去1,如果TTL值变为0,则路由器将不再转发此报文。

​ **范例10-34:**网络故障时的ping结果。

[root@centos7 ~]# ping 10.0.0.100
PING 10.0.0.100 (10.0.0.100) 56(84) bytes of data.
From 10.0.0.201 icmp_seq=1 Destination Host Unreachable		#网络主机不可达。
From 10.0.0.201 icmp_seq=2 Destination Host Unreachable
From 10.0.0.201 icmp_seq=3 Destination Host Unreachable
From 10.0.0.201 icmp_seq=4 Destination Host Unreachable
^C
--- 10.0.0.100 ping statistics ---
5 packets transmitted, 0 received, +4 errors, 100% packet loss, time 4001ms
pipe 4

​ **范例10-35:**使用ping参数的不同组合的例子。

[root@centos7 ~]# ping -c 3 -i 3 -s 1024 -t 255 www.baidu.com
PING www.a.shifen.com (14.215.177.38) 1024(1052) bytes of data.
1032 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=1 ttl=128 time=37.0 ms
1032 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=2 ttl=128 time=31.2 ms
1032 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=3 ttl=128 time=33.3 ms

--- www.a.shifen.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 6008ms
rtt min/avg/max/mdev = 31.266/33.887/37.093/2.414 ms
  • -c 3:发送3次ICMP包。
  • -i 3:每次发包时间间隔为3s。
  • -s 1024:设置发送的数据包大小为1024字节。
  • -t 255:设置发送数据包的ttl值为255。

10.10 traceroute:追踪数据传输路由状况

10.10.1 命令详解

【命令星级】 ★★★★☆

【功能说明】

​  traceroute命令用于显示网络数据包传输到指定主机的路径信息,追踪数据传输路由状况。默认数据包大小是60字节(IPv4)或80字节(IPv6),用户可另行设置。它与Windows下的tracert命令类似。

【语法格式】

traceroute [option] [host] [packet_len]
treceroute [选项] [主机名或IP]  [数据包大小]

​ **说明:**在traceroute命令及后面的选项里,每个元素直接都至少要有一个空格。

【选项说明】

​ 表10-11针对该命令的参数选项进行了说明。

​ 表10-11 traceroute命令的参数选项及说明

在这里插入图片描述

10.10.2 使用范例

​ **范例10-36:**查看某主机的路由状况。

[root@centos7 ~]# traceroute www.baidu.com
-bash: traceroute: command not found	#提示命令没找到。
[root@centos7 ~]# yum provides traceroute	#查看依赖包。
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
3:traceroute-2.0.22-2.el7.x86_64 : Traces the route taken by packets
                                 : over an IPv4/IPv6 network
Repo        : base



[root@centos7 ~]# yum install -y traceroute	#安装依赖包。

[root@centos7 ~]# traceroute www.baidu.com
traceroute to www.baidu.com (14.215.177.39), 30 hops max, 60 byte packets	#域名 IP地址 最大心跳(次) 60字节数据包。
 1  gateway (10.0.0.254)  0.095 ms  0.046 ms  0.045 ms	#第一个网关             第1次时间   第2次     第3次。
 2  * * *	#因为一些网络原因,导致超时,显示为*。
 3  * * *
 4  * * *
 5  * * *
 6  * * *
 7  * * *
 8  * * *
 9  * * *
10  * * *
11  * * *
12  * * *
13  * * *
14  * * *
15  * * *
16  * * *
17  * * *
18  * * *
19  * * *
20  * * *
21  * * *
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *

​ 命令结果说明具体如下。

  • 记录按序列号从1开始,每个记录就是一跳,每跳表示一个网关,我们看到每行有3个时间,单位是ms,其实就是-q的默认参数值为3。探测数据包向每个网关发送3个数据包之后,网关响应并返回的时间。
  • 有时我们traceroute一台主机时,会看到有一些星号。出现这样的情况,可能是因为网络设备封掉或丢弃了返回的信息,所以我们得不到返回的时间。
  • 有时在某一网关的延时比较长,这有可能是某台网关比较阻塞,也可能是物理设备本身的原因。当然如果某台DNS出现了问题,不能解析主机名、域名时,也会有延时比较长的现象,这时可以加-n参数来避免DNS解析,以IP格式输出数据。
  • 在局域网的不同网段之间,我们可以通过traceroute来排查问题所在,确定是主机的问题还是网关的问题。如果通过远程来访问某台服务器遇到问题时,用traceroute来追踪数据包所经过的网关,并提交给IDS服务商,这样也有助于解决问题。

​ **范例10-37:**加快查询时间。

​ traceroute默认是使用UDP协议(受网络影响性能不太好),因此使用-I参数来调用icmp协议(ping命令使用的协议),若同时还使用-n参数,则不解析主机名:

[root@centos7 ~]# traceroute -I www.baidu.com
traceroute to www.baidu.com (14.215.177.39), 30 hops max, 60 byte packets
 1  gateway (10.0.0.254)  0.155 ms  0.056 ms  0.082 ms
 2  192.168.0.1 (192.168.0.1)  0.491 ms  0.527 ms  0.561 ms
 3  100.64.0.1 (100.64.0.1)  98.391 ms  98.349 ms  98.723 ms
 4  10.225.135.57 (10.225.135.57)  2.376 ms  2.947 ms  3.418 ms
 5  219.145.131.53 (219.145.131.53)  4.903 ms  4.873 ms  4.817 ms
 6  * * *
 7  113.96.5.110 (113.96.5.110)  30.671 ms  30.635 ms  30.588 ms
 8  113.96.4.209 (113.96.4.209)  45.264 ms  45.231 ms  45.170 ms
 9  98.96.135.219.broad.fs.gd.dynamic.163data.com.cn (219.135.96.98)  38.657 ms  38.643 ms  38.985 ms
10  121.14.67.146 (121.14.67.146)  34.067 ms  34.465 ms  34.134 ms
11  * * *
12  * * *
13  * * *
14  * * 14.215.177.39 (14.215.177.39)  33.942 ms
[root@centos7 ~]# traceroute -In www.baidu.com
traceroute to www.baidu.com (14.215.177.39), 30 hops max, 60 byte packets
 1  10.0.0.254  0.170 ms  0.077 ms  0.049 ms
 2  192.168.0.1  0.442 ms  0.420 ms  0.393 ms
 3  100.64.0.1  3.164 ms  3.062 ms  2.888 ms
 4  10.225.135.57  2.726 ms  2.731 ms  2.674 ms
 5  219.145.131.53  4.430 ms  4.061 ms  4.094 ms
 6  * * *
 7  113.96.5.110  30.671 ms  31.039 ms  30.970 ms
 8  113.96.4.209  44.834 ms  42.977 ms  42.858 ms
 9  219.135.96.98  38.331 ms  38.351 ms  38.336 ms
10  121.14.67.146  34.056 ms  34.198 ms  34.161 ms
11  * * *
12  14.215.177.39  33.849 ms  33.448 ms  33.785 ms

猜你喜欢

转载自blog.csdn.net/qq_25599925/article/details/126202937