欢迎来到天天文库
浏览记录
ID:12392374
大小:174.50 KB
页数:6页
时间:2018-07-16
《arp攻击和实现原理解析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、ARP攻击和实现原理解析摘要:ARP是AddressResolutionProtocol(地址转换协议)的简称,是TCP/IP协议中网络层中的协议之一。它的作用是完成IP地址和MAC(物理地址)间的地址转换。www.qikancn.net论文发表关键词:ARP;攻击;原理;防护ARP概述ARP(AddressResolutionProtocol,地址解析协议)是一个位于TCP/IP协议栈中的网络层协议,对应于ISO七层协议的数据链路层,负责将IP地址解析成对应的MAC地址。ARP协议的基本功能就是通过目标设备的IP地址,以缓存表和广播的形式查询目标设备的MAC地址,以保证通
2、信的进行。1.ARP与ARP缓存表在以太网交换网络环境中,第二层的以太网交换设备并不能识别IP地址,它们是以以太网地址(MAC地址)来传输以太网数据包的。也就是说,IP数据包在局域网内部传输时并不是靠IP地址而是靠MAC地址来转发的。因此,IP地址与MAC地址之间必须存在一种对应关系,而ARP就是用来确定这种对应关系的协议。当ARP工作时,首先请求主机发送一个含有所希望到达的IP地址的以太网数据包,然后目标IP地址的所有者会用一个含有IP地址和MAC地址对的数据包来应答请求主机。这样请求主机就能获得与要到达的IP地址对应的MAC地址,同时,请求主机会将这个地址放入自己的AR
3、P缓存表中保存起来,以节约不必要的ARP通信,在命令行下面执行"arp-a",可以查看本机的ARP缓存表,ARP缓存表采用了老化机制,在一段时间内如果表中的某一行没有使用,就会被删除。这样可以大大地减少ARP缓存表的长度,从而加快查询速度。2.冒充"中间人"----ARP欺骗原理ARP是用来将IP地址解析为MAC地址,ARP欺骗简单来说就是冒名顶替其他计算机的MAC地址,从而捕获发送给其他主机的数据包信息。从上面的例子得知,在以太网内传输数据包依靠的是MAC地址,IP地址与MAC地址对应的关系依靠ARP缓存表,每台主机(包括网关)都有一个ARP缓存表。在正常情况下,这个缓存
4、表能够有效地保证数据的传输。也就是说,主机A与主机C之间的通信只能通过网关1和网关2,如主机B等是无法捕获主机A与主机C之间的通信信息的。但是,在ARP缓存表的实现机制中存在一个不完善的地方。当主机收到一个ARP的应答包后,它并不会去验证自己是否发送过这个ARP请求,而是直接用应答包里与IP地址对应的MAC地址替换原有ARP缓存表里的相应信息。这个缺陷就会使主机B捕获主机A与主机C之间的数据通信成为可能。首先,主机B向主机A发送一个ARP应答包,其内容为192.168.0.1的MAC地址是00-00-00-00-00-03。主机A收到这个应答包后,并没有去验证应答包的真实性
5、,而是直接将自己ARP缓存表中192.168.0.1的MAC地址替换成00-00-00-00-00-03。同时主机B会向网关1发送一个ARP响应包,其内容为192.168.0.98的MAC是00-00-00-00-00-03,同样,网关1也没有去验证这个响应包的真实性,就把自己ARP缓存表中192.168.0.98的MAC地址替换成00-00-00-00-00-03。当主机A要与主机C通信时,它直接把应该发送给网关1(192.168.0.1)的数据包发送到00-00-00-00-00-03这个MAC地址,也就是发送给了主机B。主机B在收到这个数据包后进行修改,再转发给真正的
6、网关1。当从主机C返回的数据包到达网关1后,网关1也使用自己ARP缓存表中的MAC地址,将发送给192.168.0.98这个IP地址的数据,发送给MAC地址00-00-00-00-00-03,也就是主机B。主机B在收到这个数据包后再转发给主机A,就完成了一次完整的数据通信,这样就成功地实现了ARP欺骗。简单来说,主机B欺骗了网关1,让网关1以为主机B是主机A,同时,主机B又欺骗了主机A,让主机A以为主机B是网关1。主机B同时对主机A和网关1进行欺骗,充当"中间人",捕获了主机A与网关1之间的数据交换内容。完成一次有效的ARP欺骗的关键就是双向欺骗。也就是说,欺骗者必须同时对
7、网关和主机进行欺骗。1.ARP欺骗的代码实现1.1WinPcap简述WinPcap是一个Win32平台的,用于捕获数据包和进行网络分析的体系结构。WinPcap能提供了以下几种功能:1.能捕获原始数据包,无论是发往某台机器,还是在其他设备(共享媒介)上进行交换的数据包;2.在数据包发送给某应用程序前,根据用户指定的规则过滤数据包;3.将原始数据包通过网络发送出去;4.收集并统计网络流量信息。以上这些功能需要借助安装在Win32内核中的网络设备驱动程序才能实现,再加上几个动态链接库DLL。WinPcap包括了一个内核
此文档下载收益归作者所有