ARP学习笔记

数据链路懒得没做笔记

ARP

地址解析协议

通过目的IP来获取MAC地址的过程由ARP来实现

ARP原理

前提,数据包中,源mac,源IP,目标IP都是已知的,那么,目标mac是怎么得来的呢

简单的说

小王:谁是小李,告诉小王

小李:小李在第一排第一个座位

这是我在局域网抓的包,科来软件可以直接看到,在我ping 192.168.123.1的时候他发送一个包,此时电脑网卡的mac缓存中并没有192.168.1.1的mac地址,所以他的目的地址为FF-FF-FF-FF-FF-FF(广播)

问:谁是192.168.123.1,告诉192.168.123.123(电脑的ip)

接着,路由器回复给电脑一个包,192.168.123.1在B0:25:AA:23:AB:74 (Private),(前6位16进制数代表厂商)

这就是一个完整的arp,一次Request和一次Response

再用ensp来抓包看(stp disable关闭生成树)

在这里我发现了一个区别,在真机抓包时,以太网封装的目的地址为FF-FF-FF-FF-FF-FF但是arp协议中却是00-00-00-00-00-00F,模拟器中则都是FF-FF-FF-FF-FF-FF

总结:

发送 源ip 源mac 目标ip 目标ip

相应 源ip 源mac 目标ip 目标ip

拓展

MAC地址扫描器的原理就是发出很多个arp的包,挨个去问。

ARP缓存

ARP欺骗

更改源MAC达到“欺骗”的效果

情景:主机3修改为和主机2相同的ip,主机1在进行发包时会向最新收到的Response报文中的mac地址发送

主机1:谁是1.1.1.2

主机2:1.1.1.2在a地址(真实)

主机3:1.1.1.2在b地址(欺骗)

主机1将1.1.1.2的包发往b地址

实践

使用工具抓到网关回给我的包,修改arp中的源mac地址,再发送广播报文进行arp欺骗

下面可以看到我的电脑arp缓存中的mac已经变为了11:22:33:44:55:66抓包软件也是抓到了我不停发送的包。

防范

主机上的防范,通过软件绑定网关的ip与mac,保护这台电脑不被“欺骗”

交换机:拥有很完善的一套防范设施。(np安全)

免费ARP

免费()ARP可以检测出ip地址是否冲突

更改ip以后,电脑会先询问网络中有没有人使用这个ip,如果没有回复,则使用这个ip

当这个ip有人使用时,证明地址冲突,电脑则会自动配置一个无效的地址

总结

ARP报文不能穿越路由器,不能转发到其他广播域