ARP协议原理及验证

微笑、不失礼 提交于 2020-02-04 22:41:06

以太网是一种局域网,而现在大部分的局域网都是以太网,所以一般提及局域网都会默认为以太网。

arp(address resolution protocol)称为地址解析协议,工作在数据链路层
以太网环境中,数据传输依赖于mac地址,而不是ip地址。arp的作用就是采用广播的形式将ip解析成mac地址。


arp的工作流程

arp请求
当a想要找到b的物理地址时,先查找arp缓存是否有b的mac,如果没有就会发送给一个arp请求,请求中包含了发送方a的mac和ip和b的ip,由于a不知道b的mac地址,所以a会在以太网中向所有主机进行广播。

arp响应
a对所有主机广播后,以太网里的每一台主机都会接收这个请求并验证,将arp请求的目标ip与自己匹配,如果和自己不一样就抛弃,如果是自己,就会以单播的方式将自己的mac发送给a。

arp相应后续
a收到了b发来的mac,会用b的ip和mac地址映射去更新arp缓存,一段时间后会被清除。当本地arp缓存中没有b的mac地址后,会继续重复上述操作。


实验验证

操作环境:kali+ubuntu虚拟机
第一步:kali中tcpdump捕获数据包tcpdump -i eth0 -nn arp and host ubuntu_ip
第二步:kali中向ubunt发起一次ping命令ping -c 1 ubuntu_ip
第三步:查看捕获的数据包
在这里插入图片描述

arp请求:kali(140)发出请求,广播谁是136。arp回应:136(ubuntu)mac是xxxx
arp请求:ubuntu(136)发出请求,广播谁是140。arp回应:140(kali)mac是xxxx

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!