web渗透测试----28、ARP欺骗


一、ARP协议简介

ARP是Address Resolution Protocol(地址解析协议)得缩写。在以太网中,两台机器想要通信,就必须知道目标主机得MAC地址,而ARP协议的作用就是获取MAC。ARP协议的基本功能就是在主机发送数据之前将IP地址转换为MAC地址,完成网络地址到物理地址的映射。

1、ARP缓存表

任何一台主机安装了TCP/IP协议都有ARP缓存表,该表保存了局域网中个主机IP对应的MAC地址,ARP缓存表能够有效地保证数据传输的一对一特性。在Windows中可以使用arp -a来查看缓存表。
ARP缓存表中的数据是有时效性的,在超过指定的时间后,将从缓存中删除它们,Windows中默认的存活时间为两分钟。

2、局域网主机通信

假设两个网段、两个网关、三台主机,如下:

							主机IP						MAC						
网关1						192.168.0.1					01-01-01-01-01-01
主机A						192.168.0.2					02-02-02-02-02-02
主机B						192.168.0.3					03-03-03-03-03-03

网关2						192.168.1.1					04-04-04-04-04-04
主机C						192.168.1.2					05-05-05-05-05-05

1、A和B通信:主机A使用ping 192.168.0.3,主机A进行子网掩码对比,发现与B在同一局域网 内:
A查询本机ARP缓存表,查看是否存在B的MAC地址。
①存在:直接发送数据。
②不存在:A发送ARP请求报文(包含IP、MAC地址、请求地址等),局域网内主机在收到请求报文时,仅有B应答,并将自己的MAC地址发送给A,而且会将A的MAC地址存在自己的ARP缓存表中。在主机A收到B的响应之后,会将B的MAC地址保存在自己的ARP缓存表中,然后发送数据。

2、A与C通信时:主机A通过子网掩码对比,发现与主机C不在同一局域网中,所以需要网关转发处理:
主机A查询ARP缓存表中是否存在网关1的MAC地址。
①不存在时:通过广播获取网关1的MAC地址。
②存在时:向网关1发送数据包,由网关1向网关2发送数据包,网关2查看数据包发现是发送给C的。然后网关2查看自己的ARP缓存表是否存在C的MAC地址。存在,直接发送数据包;不存在,则广播获取MAC地址之后发送。


二、ARP欺骗原理

1、ARP协议的部分缺陷:

①当广播请求时,攻击者伪装ARP应答,冒充真正的主机。
②ARP协议时无状态的,这就表示主机可以自由地发送ARP应答包,即使主机并未收到查询,并且任何ARP响应都是合法的,许多主机会接收为请求的ARP应答包。
③一台主机的IP被缓存在另一台主机中,他就会被当作一台可信任的主机。而计算机不提供检验IP到MAC地址是否正确的机制。当主机接收到一个ARP应答后,主机不再考虑IP到MAC地址的真实性和有效性,而是直接将应答包中的MAC地址与对应的IP地址替换到原有的ARP缓存表的相关信息。

2、ARP欺骗原理

以太网中,主机之间不知道对方的MAC地址时无法通信的,所以主机会以广播的形式发送请求来获取对方的MAC地址,请求包中包含发送方的IP、MAC地址,如果攻击者正好处于局域网中,可以利用ARP缺陷,在网络中发送一些虚假的ARP请求或者响应,这就是ARP欺骗。

3、ARP欺骗过程

在上文中,主机A和主机C之间通信会经过网关1、2,但是当主机收到一个ARP应答包后,他并不会去验证自己是否发送过ARP请求,而是直接就将应答包的MAC地址于与IP地址替换掉原有的ARP缓存信息,这就导致了主机A与主机C之间的通信内容可能被主机B截取。
主机B的ARP欺骗过程:
主机B向主机A发送一个ARP响应:192.168.0.1的MAC地址时03-03-03-03-03-03(主机B的MAC地址),主机A收到响应后不会验证是否真实,而是直接替换本机ARP缓存表中的192.168.0.1的MAC地址。同时主机B也向主机网关1发送一个ARP响应:192.168.0.3的MAC地址为03-03-03-03-03-03,同样的,网关也不会进行验证,直接放到自己的ARP缓存表中。
当主机A与C通信时,A会先检查自己的ARP缓存中是否由网关1的MAC地址,发现有缓存地址03-03-03-03-03-03,于是向MAC地址发送信息,但是此时MAC地址是B的MAC地址。主机B接收到数据之后再转发到真正的网关1,由网关1发送给主机C。当主机C接收到数据后,可能会返回数据,二返回数据在到达网关1时,网关1会先检查自己的ARp缓存表,去寻找192.168.0.3的MAC地址,MAC地址为03-03-03-03-03-03,也就是B,当主机B接收到数据包后,再转发给真正的通信对象主机A。主机A和C的通信都经过了B,B是可以控制整个通信过程的。


三、ARP欺骗的危害

1.造成局域网中的其他主机断网。

2.劫持局域网中其他主机或网关的流量,获取敏感信息等。


四、ARP欺骗的防御

1、每台计算机的ARP一律改用静态的方式,不过这在大型的网上是不可行的,因为需要经常更新每台计算机的ARP表。
2、例如DHCP snooping,网上设备可借由DHCP保留网络上各计算机的MAC地址,在伪造的ARP数据包发出时即可侦测到。此方式已在一些厂牌的网上设备产品所支持。
3、有一些软件可监听网络上的ARP回应,若侦测出有不正常变动时可发送邮箱通知管理者。例如UNIX平台的Arpwatch以及Windows上的XArp v2或一些网上设备的Dynamic ARP inspection功能。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李沉肩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值