标题:ARP欺骗之原理篇 出处:sniffer's blog 时间:Tue, 13 Oct 2009 10:17:04 +0000 作者:sniffer 地址:http://www.sxhack.net/post/4/ 内容: 1.解读ARP协议 ARP,全称Address Resolution Protocol,中文名为地址解析协议。 你知道,数据包在局域网上是怎么传输的吗?是靠什么来传输的吗?也许你会说是靠IP地址,那么你只正确了一半。其实真正在传输过程中是靠计算机的网卡地址即MAC来传输。 局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址以保证通信的顺利进行。 IP数据包常通过以太网发送,以太网设备并不识别32位IP地址,它们是以48位以太网地址传输以太网数据包。因此,必须把IP目的地址转换成以太网目的地址。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。ARP协议用于将网络中的IP地址解析为的硬件地址(MAC地址),以保证通信的顺利进行。 简单地说,ARP协议主要负责将局域网中的32为IP地址转换为对应的48位物理地址,即网卡的MAC地址。更简单的说就是用于将计算机的网络IP地址转化为物理MAC地址。 arp -a arp -s arp -d 比如IP地址为192.168.0.1网卡MAC地址为00-03-0F-FD-1D-2B。整个转换过程是一台主机先向目标主机发送包含IP地址信息的广播数据包,即ARP请求,然后目标主机向该主机发送一个含有IP地址和MAC地址数据包,通过MAC地址两个主机就可以实现数据传输了。 过程解析:在一个局域网内,假设有A,B,C,D四台机器,假设主机A要和主机D通信,但A中没有关于D的ARP映射表,于是A就向这个局域网中的所有机器发送消息,党放松出去以后,B,C,D都能收到这个消息,同时B,C,D会将A的IP和MAC地址写进自己的ARP缓存表中,但之后相应A的只有D,因为D此时知道A要和他通信,所以D就将自己的IP和MAC发给A,A就将其存在自己的ARP缓存表中,这样就完成了地址的获悉过程。 在默认情况下,Windows Server 2003家族和Windows XP中,ARP缓存中的表项仅存储2分钟。如果一个ARP缓存表项在2分钟内被用到,则其期限再延长2分钟,直到最大生命期限10分钟为止。超过10分钟的最大期限后,ARP缓存表项将被移出,并且通过另外一个ARP请求——ARP回应交换来获得新的对应关系。 两个形象的解释: 1假设,李四在北京,邮编是100080。朋友张三要给李四发一封信,当张三发现通讯录里没有李四的邮政编码,他就把信件发到了北京市邮局,于是邮局发了个广播给用户,问谁的地址邮编是10080,结果李四发现自己的邮编是10080,李四就会举手,说我是。这样,信件就发到李四那儿了。同时李四的地址信息也被张三记在自己的通信录里面了。 问题来了,如果在广播的时候,有人假冒李四,发出应答……。那信件就发不到李四那儿,并且,张三的通信表里面记录了错误的邮编和地址对应的信息。 李四收不到信件,就会给张三发信息询问,张三又重新发,但是他通信录里面的地址是错误的,所以,每次发信李四都收不到。如果这样反复询问,那必然的结果就是错误信件越发越多,邮件的错误邮件也越收越多,超过了正常的接收量,由于超负荷运转,而最终导致邮局彻底瘫痪,邮差也相继失业。可怜的李四,他始终没有收到过张三的邮件。 这就好比是ARP欺骗造成的后果,错误信件就是错误数据包,当它越来越多时,就会导致网络瘫痪,从而导致主机不能上网,影响企业的正常业务运转。 2一个入侵者想非法进入某台主机,他知道这台主机的防火墙只对192.0.0.3(假设)这个ip开放23口(telnet),而他必须要使用telnet来进入这台主机,所以他要这么做: 1、他先研究192.0.0.3这台主机,发现这台95的机器使用一个oob就可以让他死掉。 2、于是,他送一个洪水包给192.0.0.3的139口,于是,该机器应包而死。 3、这时,主机发到192.0.0.3的ip包将无法被机器应答,系统开始更新自己的arp对应表。将192.0.0.3的项目搽去。 4、这段时间里,入侵者把自己的ip改成192.0.0.3 5、他发一个ping(icmp 0)给主机,要求主机更新主机的arp转换表。 6、主机找到该ip,然后在arp表中加入新的ip-->mac对应关系。 7、防火墙失效了,入侵的ip变成合法的mac地址,可以telnet了。 2.ARP欺骗方法 1>.中间人攻击 A与B不能直接通信,中间要经过C,C即为中间人。若C要攻击A,则C会冒充成B的IP,但mac地址是自己的,C欺骗A,A就会将数据发送给C,这样C就可以将数据修改,再发给B,这样又实现了对B的欺骗。 2>.拒绝服务 C对A发送伪造的ARP应答报文,并冒充B的IP,但是这次的MAC地址是一个不存在的的地址,这样A收到报文后就会错误的刷新ARP缓存表中B的ip与MAC的映射关系,导致A与B通信中断,这再信息安全上被称作拒绝服务攻击(DOS,Deny of Service) 3.APR欺骗攻击 1>.ARP挂马 局域网内每一个用户访问任何网站都会中马。 2>.DNS劫持。 你再地址栏中输入的是百度却上了另一个网站。 3>.ARP洪水攻击 ARP洪水攻击器 Generated by Bo-blog 2.1.1 Release