Ping命令浅析

Ping

​ Ping基于ICMP协议。

​ Ping可以分为 内网Ping外网Ping

​ 下面以内网Ping为例,使用的软件是eNSPWireShark

​ Step1.创建拓扑,PC A和PC B在同一网段内。

​ PC-A若要Ping PC-B,就要进行数据链路层的报文封装。首先PC-A查看MAC表,若没有查到PC-B的MAC地址,就会发送ARP广播包。交换机收到ARP广播包后,会检查自己MAC地址表有没有PC-B的MAC地址,如果有,就返回;如果没有,则向交换机的端口发送ARP广播包,如果该交换机的端口上还连接了PC-C、PC-D等多个主机,那么与该交换机连接的主机在收到APR后,会检查交换机是否在找自己,若不是找自己,则丢弃。PC-B就会接收ARP广播包,然后响应,告诉交换机PC-B的MAC地址,同时PC-B拥有了PC-A的MAC地址。交换机在收到PC-B的MAC地址后将会转发给PC-A。

​ Step2.PC-A ping PC-B,Wireshark数据抓包

Request

上图:PC-A 192.168.10.2没有查到PC-B的MAC地址(因为Target MAC address: Broadcast (ff:ff:ff:ff:ff:ff)),于是发送了ARP广播包(谁有192.168.10.3的MAC地址,请告诉192.168.10.2)。

Reply

​ 上图:PC-B收到了ARP广播包,发现是在询问自己的MAC,于是响应发送自己的MAC给PC-A

构造ICMP数据报,建立连接

​ ICMP相关内容可参考

ICMP相关

posted @ 2021-05-16 13:15  JoshuaQ  阅读(277)  评论(0)    收藏  举报