Ping命令详细分析
的有关信息介绍如下:对ping指令进行原理上的分析以及对其过程的分析
win+R快速打开doc界面
使用 ping 192.168.88.1(需要ping的地址)
首先ping命令分为
(1)内网ping
(2)外网ping
我们这里主要详解内网ip
从拓扑结构来分析:
主机A想要ping主机B,就要进行封装二层报文。
首先A查看MAC表
如果没有B的MAC地址,就会向外发送一个ARP广播包。
交换机收到ARP报文之后,就会检索自己有没有保存B的MAC,如果有就返回如果没有就向所有的端口发送ARP广播,除了B以外的其它主机会判断是不是在找自己,如果不是就丢弃。
主机B接收到了报文之后,就会响应告诉交换机,我的MAC是多少,同时学习主机A的MAC地址。并且以同样格式返回A。
使用命令 ping 192.168.18.129
用Wireshark抓取。
主机 192.168.18.1没有192.168.18.129的MAC,所以进行开始询问谁是192.168.18.129,进行ARP询问。如图所示。
ARP报文显示:
Opcode:requests(1)ARP请求
主机192.168.18.1收到192.168.18.1的ARP请求,进行一个反应。如图所示,告诉192.168.18.1我的MAC地址是 00:0c:29:a6:e8:20
ARP报文显示:
Opcode:request(2)ARP回复
ping命令会构建一个固定格式的ICMP请求数据报,然后由ICMP协议将这个数据包连同地址“192.168.18.1”一起交给IP层协议,IP层协议将以地址“192.168.18.1”作为目的地址,本机IP地址作为源地址,加上一些其他的控制信息,构成一个IP数据包,并在一个映射表中查出IP地址192.168.1.1所对应的物理地址,附加一些控制信息,一句以太网的介质访问规则,把他们传送出去。
之后192.168.18.129接到ICMP的请求包的时候,对这个请求包进行一个请求响应,如图