ARP协议(浅学)

270 阅读2分钟

地址解析协议,即ARP(Address Resolution Protocol),是根据【IP地址】获取【物理地址】的一个【TCP/IP协议】。来自百度

image.png

以下我来简单介绍下工作过程

比如,你在本机电脑ping 192.168.250.1,你的电脑本地ARP缓存中检查主机192.168.250.1匹配MAC地址。抓包获取的arp报文如下:

image.png

image.png

image.png

主机发送信息时,将包含目标IP地址的ARP请求广播局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。

我上面是之前已经学习到了对方的mac地址,电脑已经有缓存了,可以在cmd中输入arp -aarp -g查看。局域网内所有的主机都会收到arp请求,来检验自己的ip是否匹配,不匹配就丢弃。

工作要素:ARP缓存

储存IP地址和MAC地址的,其本质就是一个IP地址-->MAC地址的对应表,如图:

image.png

动态的会自动删除和添加,自动更新,静态的会一直保存在计算机中,直到重启计算机为止。

确认好地址以后,局域网络上的主机可以发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;(反正已经确认好了,我们就彼此信任咯!)由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。

简单理解就是:A要和B建立联系,发了请求,这个时候C收到请求了,说我就是B。B肯定也收到了,也回应了,我也是B。都给A回应,但是有两个回应,A懵了,这个咋判断啊,于是就想:“那就后收到的回应是正确的吧”。这样C一直回应A,总能把B回应的包给他覆盖掉,就顺理成章的变成B了。这样一来C的ip和mac就记录在A的缓存了。

但是一般都是双向欺骗,欺骗分子C欺骗A,我是网关,欺骗网关我是A。比如A要上网,发包出去给网关,C说我是网关,我给你回应,同时C告诉网关我就是A,你要发啥都给我就行。这样就把这个链路给截断了,A就无法上网了。

RARP和ARP相反,是根据MAC地址请求IP地址的协议,有兴趣的小伙伴可以自行百度了解哦。