但是如果发送的是请求包,那么目的主机会将发送者的IP和MAC添加到自身的映射表中,无论之前是否有该映射,然后再向发送者回送一个REPLY包。
1、ARP(Address Resolution Protocol)即地址解析协议, 用于实现从 IP 地址到 MAC 地址的映射,即询问目标IP对应的MAC地址。2、在网络通信中,主机和主机通信的数据包需要依据OSI模型从上到下进行数据封装,当数据封装完整后,再向外发出。所以在局域网的通信中,不仅需要源目IP地址的封装,也需要源目MAC的封装。
3、一般情况下,上层应用程序更多关心IP地址而不关心MAC地址,所以需要通过ARP协议来获知目的主机的MAC地址,完成数据封装。
总结:表面上看是ip之间的通信,实际是通过ARP广播将ip与mac对应形成映射关系。所以网络中事实存在着大量的ARP广播,所以抓包会抓到,如果不需要,可以选择过滤掉。谢谢采纳!!
Address Resolution Protocol 地址解析协议。ARP只有两个过程, 一问,一答。共两个包。
WireShark可抓包,联网后,随时都会收到无数的 ARP 包,挑一个如下:
ARP询问包:
ARP回复包:
在本机上 ping 192.168.1.107 而收到如上一个回复包(192.168.1.107 是我虚拟机的 IP)。
ping 命令并不直接与 ARP 相关,而是因为 ping 的过程中,需先访问本机的 arp 表。
arp 表是 ip与mac 的键值对。若 该 IP (即192.168.1.107) 无键值对在表中,则需要先发送 arp 包,以此获得
mac,并将此 ip 与 mac 键值对填入 arp 表。才继续 ping *** 作。
注:ping 命令执行前,最好以管理员身份运行 cmd ,执行 arp -d 来删除本机的 arp 表,这样再 ping ,则一定可以看到 arp 过程。
如有帮助,就点个赞或者评论下。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)