ARP协议
来源:互联网 发布:php trim 弱等于 编辑:程序博客网 时间:2024/06/05 13:36
APR协议(Address Resolution Protocol,地址解析协议),由IP地址可以得到MAC地址。互联网上的通信是建立在路由器由IP地址转发数据包的,但局域网内的交换机不能狗够识别IP地址,只能够通过MAC地址(物理地址)进行转发。
假设局域网内主机A要和主机B进行通信。首先A需要知道B的MAC地址,所以会在自己的APR高速缓存上查找是否有B的IP地址和MAC地址的映射表(在doc界面输入arp -g 可以查看本机的APR缓存表),如果存在则直接得到了B的MAC地址,如果没有,则需要发送ARP请求道到局域网查询。
1)A发送ARP请求到局域网上的所有主机上(广播),该请求包含了B的IP地址。
2)局域网内的主机得到该ARP请求后查看该IP地址是否与自己相符合,如果不符合,则直接丢弃该请求。
3)局域网内的只有B能响应该ARP请求,B会把A的IP地址和MAC地址写入到自己的ARP高速缓存中,并且发送自己的MAC地址发送给A。
4)A收到B的消息后,会把B的MAC地址写入自己的ARP缓存中
5)至此A知道了B的MAC地址,A发送数据到B了
值得注意的是,ARP协议是存在缺陷的,ARP协议周期性的将ARP请求进行广播的并将得到的MAC地址无条件地写入到自己的ARP缓存区中,A请求B的MAC地址时,攻击者可以利用伪装ARP应答,将B的MAC地址写错,A得到该错误地址,就无法和B进行正常通信。
假设局域网内主机A要和主机B进行通信。首先A需要知道B的MAC地址,所以会在自己的APR高速缓存上查找是否有B的IP地址和MAC地址的映射表(在doc界面输入arp -g 可以查看本机的APR缓存表),如果存在则直接得到了B的MAC地址,如果没有,则需要发送ARP请求道到局域网查询。
1)A发送ARP请求到局域网上的所有主机上(广播),该请求包含了B的IP地址。
2)局域网内的主机得到该ARP请求后查看该IP地址是否与自己相符合,如果不符合,则直接丢弃该请求。
3)局域网内的只有B能响应该ARP请求,B会把A的IP地址和MAC地址写入到自己的ARP高速缓存中,并且发送自己的MAC地址发送给A。
4)A收到B的消息后,会把B的MAC地址写入自己的ARP缓存中
5)至此A知道了B的MAC地址,A发送数据到B了
值得注意的是,ARP协议是存在缺陷的,ARP协议周期性的将ARP请求进行广播的并将得到的MAC地址无条件地写入到自己的ARP缓存区中,A请求B的MAC地址时,攻击者可以利用伪装ARP应答,将B的MAC地址写错,A得到该错误地址,就无法和B进行正常通信。
阅读全文