ping命令的基本操作
admin
2023-02-02 17:22:40
0

ping命令是在日常网络管理维护工作中最常用到的命令之一

  1. ping命令的基本原理
    Ping命令利用ICMP协议进行工作,ICMP是Internet控制消息协议,用于在主机和路由器之间传递控制消息。Ping命令利用了ICMP两种类型的控制消息:“echo request”(回显请求)、“echo reply”(回显应答)。

比如在主机A上执行ping命令,目标主机是B。在A主机上就会发送“echo request”(回显请求)控制消息,主机B正确接收后即发回“echo reply”(回显应答)控制消息,从而判断出双方能否正常通信。其工作原理如图1所示。
ping命令的基本操作
如果在A主机上能够ping通B主机,那么主机A上显示的信息就是从主机B上返回来的“回显应答”。如果不能ping通,主机A上显示的信息则是由系统自身所产生的错误提示。

    在Windows系统中,默认情况下,每次执行ping命令会发送4个“回显请求”消息,每个消息的数据包大小为32字节,如果一切正常,应能收到4个同样为32字节大小的“回显应答”消息。其格式如下:

Reply from ...(IP):bytes=32 time<1ms TTL=128

 在这些“回显应答”中包含了丰富的信息:

  通过回显应答中的“time”时间,可以大致的推断出网速情况,数据传递经过的时间越长,网速越慢。

  回显应答中的“TTL”,即数据包的生存周期。每个系统对其所发送的数据包都要赋一个TTL的初始值,默认情况下,
       Windows XP系统为128,Win7系统为64,Linux系统为64或255(当然,系统的TTL值都是可以修改的)。数据包每经过一次路由,TTL值就要减1,所以通过TTL值,

我们既可以大概地推算出对方主机所用的操作系统,又可以推断出在数据包在传送过程中经过了多少次路由。比如,在执行“ping www.baidu.com”命令时,
回显应答中显示的TTL值为52,则首先可以大概推断出百度使用的是Linux系统,其次可以得知数据在传送过程中经过了12次路由。

   这点可以通过tracert命令进行验证,执行“tracert www.baidu.com”命令,

发现数据包正是经过了12次路由。tracert也是一个利用ICMP协议工作的命令,它的原理非常巧妙:它向指定的目的主机发送多次回显请求消息,并把封装该消息的数据包的TTL值从1开始递增。即tracert命令第一次发送出去的数据包的TTL为1,这些数据包在经过第一个路由器时,TTL值便被减为了0,这台路由器就要将数据包丢弃,并同时向源主机发回一个回显应答消息,通过这种方式就获得了数据包所经过的第一台路由器的信息。通过这种递进的查询过程,查询端就可以追踪到达目的主机所经过的所有路由器的情况。

另外,大家可能会发现,每次执行tracert命令所查询到路径都不大一样,这是完全正常的,数据包每次传送时采用不同的路径,这正是Internet所采用的分组交换方式的特点

  1. ping命令错误提示分析
    如果执行ping命令后,无法接收到对方的回显应答,则错误提示通常为:

Request timed out(请求超时)

出现这种提示,表示网络不通,但具体故障原因要视实际网络情况而定。

另外还有一种错误提示为:

Destination host unreachable(目的主机不可达)

出现这种提示,则通常是因为没有设置网关或网关设置不正确而导致的。

比如,一台主机的IP地址为192.168.0.10/24,默认网关为192.168.0.1。在这台主机上随便ping另外一个网段中的不存在的IP,如“ping 172.16.1.10”,因为这个IP根本不存在,所以肯定无法ping通,但此时发送方主机的“回显请求”消息已发送给了网关,只是网关无法将其转发给目的主机,因而此时显示的错误提示就为“Request timed out”(请求超时)。

接下来将这台主机的默认网关删掉,再次执行“ping 172.16.1.10”命令,此时由于没有网关为其转发数据,因而发送方主机根本不会将“回显请求”消息发送出去,此时显示的错误提示就为“Destination host unreachable”(目的主机不可达),即根本找不到数据发送的路径。

因而通过ping命令不同的错误提示,我们可以大致地判断出故障原因。

  1. ping命令排查网络故障
    在实际使用ping命令时,最常见的错误提示还是“Request timed out”(请求超时),此时只能根据不同的情况来具体分析。比如电脑无法接入Internet,那么我们可以按照如下思路来排查故障:

① 首先ping网关,如果能够ping通,则证明内部网络没有问题,问题应该出在外部网络。

② 如果网关能够ping通,接下来再ping某个网址,比如“ping www.baidu.com”,测试能否将网址解析为IP,以确认是否DNS服务器设置错误。

③ 如果在步骤①中ping网关不通,则证明问题出在内部网络。此时可以测试能否ping通内网中的其它电脑,如果不能ping通,则证明是我们自己的电脑或是网线出了问题;如果能ping通,问题则与我们的电脑或网线无关,而多半是内部网络的某处出现了故障。

相关内容

热门资讯

德国总理:美国正在被伊朗羞辱 德国之声4月27日报道,德国总理默茨在访问一所学校时表示,在当前的持续冲突中,伊朗领导层正试图羞辱美...
理响中国|“长”歌以行,风云激... 光阴如梭,东方潮阔。这里是中国的长三角,世界的长三角。无论过去、现在还是未来,这片土地都因时代而生,...
白宫:特朗普及其国安团队开会讨... 新华社华盛顿4月27日电 美国白宫新闻秘书莱维特27日在记者会上证实,总统特朗普及其国家安全团队当天...
人民日报刊文:日本放开杀伤性武... 日本放开杀伤性武器出口推高地缘冲突风险(国际论坛)常思纯《人民日报》(2026年04月28日 第 0...
医疗保障法草案二审:明确生育保... 满足多样化健康保障需求本报记者 彭 波4月27日,医疗保障法草案二审稿提请十四届全国人大常委会第二十...
天津一景区发生自转旋翼机事故1... 澎湃新闻记者 吕新文中国民用航空华北地区管理局4月22日公布《豪客通航“10•1”天津长芦汉盐旅游区...
卡塔尔埃米尔与美国总统特朗普通... 当地时间24日,卡塔尔埃米尔塔米姆与美国总统特朗普通电话,重点就中东地区局势以及伊朗与美国谈判问题交...
男子30年前被扣押2859克黄... 澎湃新闻记者 王鑫家住辽宁省大连市的潘永嘉近日向澎湃新闻反映称,三十年前,他在大连周水子机场被盖州市...
商务部:取消反制欧盟两家金融机... 中华人民共和国商务部令二〇二六年 第1号鉴于欧盟已取消对中国两家金融机构的制裁措施,现公布《关于取消...
过去24小时共有5艘船只通过霍... 总台记者当地时间24日获悉,过去24小时内,共有5艘船只通过霍尔木兹海峡,其中包括一艘伊朗油轮。(总...