危险漫步博客
新鲜的“黑客思维”就是从全新的角度看待黑客技术,从更高的层面去思考;专注于黑客精神及技术交流分享的独立博客。
文章2307 浏览21468396

和我一起来认识ARP欺骗

大家对于ARP欺骗一定都是耳熟能详了吧,但是对于ARP到底是怎么一回事,相信很多朋友还没有搞清楚,本文我就向大家描述一下ARP欺骗的原理以及之所以能够达到欺骗的原因。

ARP欺骗,主要是发生在局域网中,比如使用同一个路由上网的几台电脑,大学校园内的教育网以及网吧等。通过ARP欺骗,我们能够达到什么目的呢?一句话,所有与网络有联系有交换的数据,几乎都可以被截获,比如游戏的帐号密码,论坛的帐号密码,邮箱登录密码,FTP的登录密码等等。接下来,我就主要介绍一下ARP能够完成欺骗的原因及其工作的原理。大家都知道,连接在Internet上的主机都必须有IP地址,才能够被网上别的主机查找到并进行相互通信。就像我们自己的家一样,必须要有一个明确的、唯一的家庭地址,我们的朋友才能把信件或物品送到我们的家中来。IP地址是一个32位的二进制数,分成了四段,每一段当然是8位二进制数,但是我们使用十进制表示的话,每段就是0-255之间的数字,比如192.168.0.1就是一个IP地址,但是IP地址和主机上的MAC地址(物理地址)不同。MAC地址是固定在硬件上的一个48位二进制数,通常MAC地址被分成了6段,每段8位,使用十六进制表示。比如我电脑上的IP地址与MAC地址情况,其中“OO-EA-01-06-91-72”就是我电脑网卡上独有且固有的MAC地址,这是不会重复的。当我们进行网络通信时,链路层的ARP协议会把IP地址转换为MAC地址,RARP协议会把MAC地址转换为IP地址。在我们的Windows系统下,直接按快捷键WIN+R,在“运行”栏中输入CMD调出命令提示符,然后在命令行下输入“ipconfig /all”,就会得到自己电脑的IP地址与MAC地址了。

ARP欺骗的工作原理是这样的,我们以主机A( 192.168.0.1)向主机B(192.168.0.2)发送数据为例。当发送数据时,主机A会在自己的ARP缓存表中寻找是否有目标IP地址,如果找到了,也就知道了目标的MAC地址,直接把目标MAC地址写入帧里面发送就可以了;如果在ARP缓存表中没有找到相对应的IP地址,主机A就会在网络上发送一个广播,目标MAC地址是“FF.FF.F F.F F.FFFF”,这表示向同一网段内的所有主机发出这样的询问:“192.168.0.2的MAC地址是什么?”网络上其它主机并不响应这个ARP询问,只有主机B接收到这个帧时,才会向主机A做出这样的回应:“192.168.0.2的MAC地址是bb-bb-bb-bb-bb-bb”。这样,主机A就知道了主机B的MAC地址,它就可以向主机B发送信息了。

从上面的介绍可以看出,ARP协议的基础就是信任局域网内所有的人,正因为如此,也就很容易实现在以太网上的ARP欺骗了。对目标A进行欺骗,A去Ping主机C却发送到了DD-DD-DD-DD-DD-DD这个地址上,如果在进行欺骗的时候,我们把C的MAC地址欺骗为DD-DD-DD-DD-DD-DD.那么A发送到C上的数据包就都变成发送给D了,这就完成了ARP欺骗。

以上就是ARP欺骗的原理,简单点说,就是D伪装了一下自己的地址,让自己变成了A要找的目标,让A误以为D就是C.从而把数据发送到了D上而不是直接发送到C那里。其实在真正的工作中,C是一个通道,只是起到了临时停靠的作用,A发送到C的数据还是能到达的,只不过中间都要经过D了,如此一来D作为ARP欺骗的服务端,就完全掌握了A、C之间传递的数据,如此便实现了它想要达到的目的。

目前各网络安全公司对于嗅探的重视还不是很高,并不能很好的避免嗅探和ARP欺骗。我个人认为,局域网嗅探比较好用工具就是CAEN,可以嗅探局域网的一些3389用户名和密码以及论坛id密码等等。

最后我在声明一下,本文的部分知识收集自网络,但是大部分都是自己的探索理解。可以说,我们面临的阿络安全问题,很危险的一个存在就是局域网的嗅探了。如果我们同在一个局域网内,我可以嗅探到绝大多数同学的校内帐号以及部分论坛的ID密码等。其实这是一个亟需解决的问题,好在校园网对嗅探IP做了一些限制,对端口转发映射也有限制,相对还算安全。至于ARP的防范,网上有很多相关的文章,这里就不再赘述了。

相关推荐