|
发表于 2013-3-7 21:50:18
|
显示全部楼层
本帖隐藏的内容$ e9 ~1 y' Y; A0 e% j! N5 [* D
免费ARP的作用,目前,免费ARP的作用有两种。第一种就是刚才上面所说的宣告广播的作用,以告诉整个广播域,目前这个IP所对应的MAC地址是什么。第二种是看看广播域内有没有别的主机使用自己的IP,如果使用了,则在界面上弹出“IP冲突”字样。普通ARP请求报文广播发送出去,广播域内所有主机都接收到,计算机系统判断ARP请求报文中的目的IP地址字段,如果发现和本机的IP地址相同,则将自己的MAC地址填写到该报文的目的MAC地址字段,并将该报文发回给源主机。所以只要发送ARP请求的主机接收到报文,则证明广播域内有别的主机使用和自己相同的IP地址(这里不考虑路由器的ARP代理问题)。免费ARP的报文发出去是不希望收到回应的,只希望是起宣告作用;如果收到回应,则证明对方也使用自己目前使用的IP地址。在所有网络设备(包括计算机网卡)up的时候,都会发送这样的免费ARP广播,以宣告并确认有没有冲突。
9 v+ T0 x* u$ o/ v举例如下:
5 b. z8 l7 K2 {0000 ff ff ff ff ff ff 00 00 5e 00 01 ea 08 06 00 01
: j C0 G/ h. Z- K0010 08 00 06 04 00 01 00 00 5e 00 01 ea 86 4a ea 01
; W) m, f7 a1 y7 F5 C0020 00 00 5e 00 01 ea 86 4a ea 01 00 00 00 00 00 00
5 }) g y% ]8 G; K. M0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
& U9 ?2 b' p8 u+ C0040 00 00 00 002 p v6 ? x: ?0 d: z
报文中前48位是报文发送的目的MAC地址。
9 B" a( S, \; I* `8 P+ Iff ff ff ff ff ff说明前48位都为1,表示这是一个局域网广播地址;
8 X7 h6 u- B% U+ b H7 h# Z, i* B00 00 5e 00 01 ea是数据包发送的源MAC地址;! g7 Z# N; c, N; k/ a% A
08 06表示为数据包类型为arp数据包;
% p4 [7 `" ^9 L6 o. [; g) ^00 01表示这是一个以太网数据包;8 i7 V( l7 q3 K9 d+ F8 ], e
08 00表示为IP协议,6是硬件地址长度,4为协议地址长度;5 F! F" w' G( n2 ?6 Z2 k; o9 r
00 01表示是ARP请求报文;9 J! j! H. c* r7 g
00 00 5e 00 01 ea发送者MAC地址;
: x! m9 ~: \/ }, C( s1 P" |86 4a ea 01(转换成十进制是134.74.234.1)是发送者的协议地址(由于协议是IP,所以这是IP地址);( E; B+ R b: k$ d2 k8 e
86 4a ea 01是被请求的协议地址(可以看到请求的地址就是自身的IP地址);; C& ]; B7 S) W! T) A
00 00 5e 00 01 ea是被请求的MAC地址,正常情况下,如果不是免费ARP,这里应该为全0,在响应的时候,由目的主机来填写,但是在免费ARP的请求报文中,这里已经自动填写上自身的MAC地址。5 A. k( e0 Z. _3 s0 z, l7 Z
+ ~1 f! K% C `+ O5 H% ]1 Q 免费ARP的漏洞及防范,根据上述第一种作用能发现免费ARP带来的漏洞,因为目前的局域网上都没有安全的认证系统,所以任何主机都可以发送这样的免费ARP广播,这样就会出现MAC地址欺骗。假如某银行系统局域网内有服务器A,客户机B和客户机C,客户机B正在向服务器提交当天的信用卡消费和账号信息(通过某种安全通信机制进行通信,确保客户机C是无法接收到两者之间传输的数据包的),这时客户机C(攻击者)向局域网内发送了一个免费ARP广播,其源IP地址为服务器A的地址,源MAC地址为客户机C自己的MAC地址。客户机B收到这样的报文后,会将自己ARP缓存中服务器A的MAC地址改为客户机C的MAC地址,这就形成了MAC地址欺骗,这样客户机B会将所有该发给服务器A的信息都发送给客户机C,C在通过抓包分析就知道了很多不该知道的信息。通常为了确保A不再发送信息给B以改变B的ARP缓存里A的IP对应的MAC地址,C可以通过其他手段先将A工具瘫痪。这样就放心大胆地进行欺骗了。这是至今都很流行的攻击手段之一。' X) Q8 I# A& [; S% y2 T9 s4 h) S6 d
目前针对该攻击没都有很好的防范手段,当前使用的方法有:
! _2 b* b+ `. y* U" m. Q* V- A1 l/ a1. 设置MAC地址和IP地址绑定。, N3 i% Z& [" v# n
2. 将交换机上某些端口设置为信任端口,来自这些端口的请求认为是可靠的,予以转发,其他的不转发。3 U4 K$ U% M* S: m
其实我们很多设备的漏洞都是这样产生的,为了解决一个问题,引入一项新的机制,但是通常由于缺乏全面的系统分析机制,没能对该项技术进行全方位的论证和考虑,导致了该技术存在一定的缺陷,引起系统的故障,然后在后继的过程中,只有通过打补丁或再引入其他机制进行预防 |
305#
2013-3-7 21:50:18
回复(0)
收起回复
|