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


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

    10.9.1 命令详解

    【命令星级】 ★★★★★

    【功能说明】

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

    【语法格式】

    ping [option] [destination]
    ping [选项] [目标主机]
    
    • 1
    • 2

    ​ **说明:**在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
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    扩展知识:

    ​ 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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    ​ **范例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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • -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]  [数据包大小]
    
    • 1
    • 2

    ​ **说明:**在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
    • 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
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48

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

    • 记录按序列号从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
    
    • 1
    • 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
  • 相关阅读:
    STM32与ZigBee技术在智能家居无线通信中的应用研究
    百度松果菁英班OJ【连载】
    三防加固平板电脑能在恶劣的工业环境中依然正常运作
    传统方式连接数据库的弊端和数据库连接池原理
    【题解】2023 DTS算法竞赛集训 第1次
    从传统云架构到云原生生态体系架构的演进
    SPA项目开发之CRUD+表单验证
    MYSQL 基本操作 (2)
    阿里云ECS服务器vCPU是什么意思?
    day01-Tomcat框架分析
  • 原文地址:https://blog.csdn.net/qq_25599925/article/details/126202937