加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

当 Ping 命令后,背后发生了什么?

发布时间:2019-08-28 04:33:05 所属栏目:教程 来源:程序猿久一
导读:01 概览 对付 ping呼吁,想必只要是措施员都知道吧?当我们搜查收集环境的时辰,最先行使的呼吁必定是ping呼吁吧?一样平常我们用ping查察收集环境,首要是搜查两个指标: 第一个是看看是不是超时 第二个看看是不是耽误太高 假如超时那么必定是收集有题目(禁 pin
副问题[/!--empirenews.page--]

 01 概览

当 Ping 呼吁后,背后产生了什么?

对付 ping呼吁,想必只要是措施员都知道吧?当我们搜查收集环境的时辰,最先行使的呼吁必定是ping呼吁吧?一样平常我们用ping查察收集环境,首要是搜查两个指标:

  • 第一个是看看是不是超时
  • 第二个看看是不是耽误太高

假如超时那么必定是收集有题目(禁 ping环境除外);假如耽误太高,收集环境必定也是很糟糕的。

那么对付 ping呼吁的道理,ping是怎样搜查收集的?各人之前有相识吗?接下来我们来随着ping呼吁走一圈,看看ping是怎样事变的。

02 情形筹备和抓包

情形筹备

抓包器材:Wireshark 筹备两台电脑,举办互 ping操纵:

  1. A电脑(IP地点: 192.168.2.135/ MAC地点:98:22:EF:E8:A8:87)
  2. B电脑(IP地点: 192.168.2.179/ MAC地点:90:A4:DE:C2:DF:FE)

抓包操纵

打开 Wireshark,选取指定的网卡举办抓包,举办 ping操纵,在 A电脑上 ping B电脑的 IP

当 Ping 呼吁后,背后产生了什么?

抓包环境如下:

当 Ping 呼吁后,背后产生了什么?

这里先简朴的先容下Wireshark的节制面板,这个面板包括7个字段,别离是:

  • NO: 编号
  • Time: 包的时刻戳
  • Source: 源地点
  • Destination: 方针地点
  • Protocol: 协议
  • Length: 包长度
  • Info: 数据包附加信息

03 深入理会

上图中抓包编号 54-132表现的就是整个ping呼吁的进程,我们知道ping呼吁不是依托于 TCP可能 UDP这种传输层协议的,而是依托于ICMP协议实现的, 那么什么是ICMP协议呢?这里简朴先容下:

ICMP协议的发生配景

[RFC792]中声名白 ICMP发生的缘故起因:因为互联网之间通信会涉及许多网关和主机,为了可以或许陈诉数据错误,以是发生了ICMP协议。也就是说ICMP协议就是为了更高效的转发 IP数据报和进步交付乐成的机遇。

ICMP协议的数据名目

当 Ping 呼吁后,背后产生了什么?

按照上图我们知道了 ICMP协议头包括 4个字节,头部首要用来声名范例和校验ICMP报文。下图是对应的范例和代码释义列表,我们后头说明抓包的时辰会用到。

当 Ping 呼吁后,背后产生了什么?

简朴先容完了 ICMP,那么抓包进程中呈现的ARP协议是什么呢?我们同样来简朴表明下:

ARP协议

我们知道,在一个局域网中,计较机通讯现实上是依靠于 MAC地点举办通讯的,那么ARP(AddressResolutionProtocol)的浸染就是按照 IP地点查找出对应的 MAC地点。

Ping进程理会

相识了上面的基本观念后,我们来说明下抓包的数据,其流程如下:

A 电脑( 192.168.2.135)提倡ping哀求,ping192.168.2.179

A 电脑广播提倡 ARP哀求,查询192.168.2.179的 MAC地点。

B 电脑应答 ARP哀求,向 A电脑提倡单向应答,汇报 A电脑本身的 MAC地点为90:A4:DE:C2:DF:FE

知道了 MAC地点后,开始举办真正的 ping哀求,因为 B电脑可以按照A电脑发送的哀求知道 源 MAC地点,以是就可以按照源 MAC地点举办相应了。

上面的哀求进程我画成流程图较量直观一点:

当 Ping 呼吁后,背后产生了什么?

调查细心的伴侣也许已经发明,Ping 4次哀求和相应竣事后,尚有一次 B电脑对 A电脑的 ARP哀求,这是为什么呢?这里我揣摩应该是有 2个缘故起因:

因为 ARP有缓存机制,为了防备ARP逾期,竣事后从头更新下ARP缓存,担保下次哀求能去往正确的路径,假如ARP逾期就会导致呈现一次错误,从而影响测试精确性。

因为 ping呼吁的相应时刻是按照哀求包和相应包的时刻戳计较出来的,以是一次 ARP进程也是会耗损时刻。这里提前缓存最新的ARP功效就是节减了下次ping的ARP时刻。

为了验证我们的揣摩,我再举办一次 ping操纵,抓包看看是不是和我们揣摩的一样。此时,计较机内里已经有了ARP的缓存,我们执行ARP-a看看缓存的arp列表:

当 Ping 呼吁后,背后产生了什么?

我们看看第二次 ping的抓包

当 Ping 呼吁后,背后产生了什么?

我们看到上图中在真正 ping之前并没有举办一次ARP哀求,这也就是说,直接拿了缓存中的ARP来执行了,其它当 B计较机举办相应之前照旧举办了一次ARP哀求,它照旧要确认下之前的ARP缓存是否为正确的。然后竣事ping操纵之后,同样再发一次ARP哀求,更新下本身的ARP缓存。这里和我们的意料根基同等。

弄懂了 ping的流程之后我们来理会下之前表明的ICMP数据功效是否和抓包的同等。我们来点击一个ping request看看ICMP协议详情

当 Ping 呼吁后,背后产生了什么?

图中红框内就行 ICMP协议的详情了,这里的Type=8,code=0, 校验是正确,且这是一个哀求报文。我们再点击Responseframe:57,这里声名相应报文在序号57。详情如下:

当 Ping 呼吁后,背后产生了什么?

上图的相应报文, Type=0,code=0,这里知道就是相应报文了,然后最后就是按照哀求和相应的时刻戳计较出来的相应耽误。3379.764ms-3376.890ms=2.874ms。

04 总结

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读