|
发表于 2013-3-7 21:50:18
|
显示全部楼层
本帖隐藏的内容 [+ B, K- p, w9 g7 z
免费ARP的作用,目前,免费ARP的作用有两种。第一种就是刚才上面所说的宣告广播的作用,以告诉整个广播域,目前这个IP所对应的MAC地址是什么。第二种是看看广播域内有没有别的主机使用自己的IP,如果使用了,则在界面上弹出“IP冲突”字样。普通ARP请求报文广播发送出去,广播域内所有主机都接收到,计算机系统判断ARP请求报文中的目的IP地址字段,如果发现和本机的IP地址相同,则将自己的MAC地址填写到该报文的目的MAC地址字段,并将该报文发回给源主机。所以只要发送ARP请求的主机接收到报文,则证明广播域内有别的主机使用和自己相同的IP地址(这里不考虑路由器的ARP代理问题)。免费ARP的报文发出去是不希望收到回应的,只希望是起宣告作用;如果收到回应,则证明对方也使用自己目前使用的IP地址。在所有网络设备(包括计算机网卡)up的时候,都会发送这样的免费ARP广播,以宣告并确认有没有冲突。. U, N) w2 O. ~/ V9 b6 L' Y" r
举例如下:6 z# P w# h$ i
0000 ff ff ff ff ff ff 00 00 5e 00 01 ea 08 06 00 01
0 s7 C( [1 @$ Q0010 08 00 06 04 00 01 00 00 5e 00 01 ea 86 4a ea 016 G* ?3 @& _1 |" E
0020 00 00 5e 00 01 ea 86 4a ea 01 00 00 00 00 00 00
V9 s c4 R8 g+ k, ^& S0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
# q5 u. p1 X+ d+ j4 O# c5 O0040 00 00 00 00
3 U- L6 Y& K) y( }, w报文中前48位是报文发送的目的MAC地址。
z p a9 s9 y. s8 [* m0 Pff ff ff ff ff ff说明前48位都为1,表示这是一个局域网广播地址;
' j3 a5 M; [# t6 b. j- j00 00 5e 00 01 ea是数据包发送的源MAC地址;
9 M1 o! R' ^6 h08 06表示为数据包类型为arp数据包;* C: X3 Z; W, `, L$ }4 p5 g
00 01表示这是一个以太网数据包;
4 U" n5 Q7 t4 k# F1 A3 r2 Y* L8 ]08 00表示为IP协议,6是硬件地址长度,4为协议地址长度;% Q0 t8 ]4 I7 C% g9 c
00 01表示是ARP请求报文;
1 G6 t, ?+ i, H% D00 00 5e 00 01 ea发送者MAC地址;
5 `8 t% Y4 s. \# \/ U6 e86 4a ea 01(转换成十进制是134.74.234.1)是发送者的协议地址(由于协议是IP,所以这是IP地址);
7 F& ]" N, G6 x& X R0 [86 4a ea 01是被请求的协议地址(可以看到请求的地址就是自身的IP地址);
9 |' z- G& {- h( U" g00 00 5e 00 01 ea是被请求的MAC地址,正常情况下,如果不是免费ARP,这里应该为全0,在响应的时候,由目的主机来填写,但是在免费ARP的请求报文中,这里已经自动填写上自身的MAC地址。
1 @8 o+ A+ l+ w# G; B/ G( M6 s7 W
" j3 H- S: C5 ^4 w+ K$ d; } 免费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工具瘫痪。这样就放心大胆地进行欺骗了。这是至今都很流行的攻击手段之一。
1 W% B# J$ }/ l; ~* y 目前针对该攻击没都有很好的防范手段,当前使用的方法有:5 Y- D6 u2 Z5 t
1. 设置MAC地址和IP地址绑定。+ Y+ v# t8 F; e) z; N$ p
2. 将交换机上某些端口设置为信任端口,来自这些端口的请求认为是可靠的,予以转发,其他的不转发。* @$ X' Q: E- d9 [
其实我们很多设备的漏洞都是这样产生的,为了解决一个问题,引入一项新的机制,但是通常由于缺乏全面的系统分析机制,没能对该项技术进行全方位的论证和考虑,导致了该技术存在一定的缺陷,引起系统的故障,然后在后继的过程中,只有通过打补丁或再引入其他机制进行预防 |
305#
2013-3-7 21:50:18
回复(0)
收起回复
|