赞
踩
如果要在TCP/IP协议栈中选择一个"最不安全的协议",那么我会毫不犹豫把票投给ARP协议。我们经常听到的这些术语,包括"网络扫描"、“内网渗透”、“中间人拦截”、“局域网流控”、“流量欺骗”,基本都跟ARP脱不了干系。大量的安全工具,例如大名鼎鼎的Cain、功能完备的Ettercap、操作傻瓜式的P2P终结者,底层都要基于ARP实现。
听上去这么"逆天"的协议,其实技术原理又简单的难以置信,例如ARP整个完整交互过程仅需要两个包,一问一答即可搞定!但是ARP协议也有它令初学者迷惑的地方,例如由它本身延伸出来的"代理ARP"、“免费ARP”、“翻转ARP”、“逆向ARP”,而这些不同种类的ARP,又应用于不同的场景。好吧,在深入到技术原理之前,作为初学者,我们先记住下面三句话:
①ARP(Address Resolution Protocol)即地址解析协议, 用于实现从 IP 地址到 MAC 地址的映射,即询问目标IP对应的MAC地址。
②在网络通信中,主机和主机通信的数据包需要依据OSI模型从上到下进行数据封装,当数据封装完整后,再向外发出。所以在局域网的通信中,不仅需要源目IP地址的封装,也需要源目MAC的封装。
③一般情况下,上层应用程序更多关心IP地址而不关心MAC地址,所以需要通过ARP协议来获知目的主机的MAC地址,完成数据封装。
https://www.cisco.com/c/zh_cn/support/docs/ip/dynamic-address-allocation-resolution/13718-5.html
由于ARP只适用于同一物理网络,所以当设备需要将数据报文发往另一个物理网络时,通常需要借助网关路由器上的路由功能查询路由表,实现不同物理网络之间的通信。但是,查询路由表会占用部分系统资源,影响系统处理其他业务的效率。这种情况下,可以在需要互通的主机之间的中介设备上部署Proxy ARP功能,由中介设备执行代理的角色,减少设备因查询路由表而消耗的系统资源,提高系统的运行效率。
路由式Proxy ARP的实现过程:
图 ARP PROXY报文处理流程
参考资料:
1、图解arp,一共有5篇文章,讲的比较通俗易懂
2、arp代理思科守则
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。