1、1局域网 ARP 欺骗的工作原理与防范策略摘要:ARP 欺骗的发生严重影响到局域网用户的上网安全,网络的正常运转。本文从研究 ARP 协议的工作原理和交换机的工作原理出发,表述了 ARP欺骗的现象及类型,然后对 ARP 欺骗提出了有力的防范策略。关键词:ARP 欺骗;交换机;防范1 引言随着计算机网络的飞速发展,大多数单位都建立了自己的局域网。ARP(Address Resolution Protocol)地址解析协议是局域网中数据链路层不可缺少的协议,但黑客利用此协议漏洞编制出 ARP 病毒,网络剪刀手,网络执法官等恶意软件,使正常局域网用户上网必须通过病毒主机上网,造成用户上网速度特别慢,
2、一会能上,一会断掉,用户上网的个人帐号和密码等信息泄露,这已成为网络管理者迫切需要解决的问题。2 ARP 协议和交换机的工作原理分析2.1 ARP 工作原理局域网中上网的每台主机都必须有一个 IP 地址,在 IP 数据报的头部包含源主机和目的主机的 IP 地址,但在数据链路层是以帧为单位进行数据传输,例如 Ethernet_II 的帧格式如表 1 所示。Ethernet_II 帧结构在帧格式中目的地址和源地址都是 6 个字节,48 比特表示,该地址称为MAC 地址,又称物理地址。生产网卡时,MAC 地址被固化在网卡芯片中。在MAC 地址的 6 个字节中,前 3 个字节由 IEEE(国际电气和电
3、子工程师协会 )负责分配,这 3 个字节称为“厂商代码” ,后 3 个字节由厂商自行分配,这种方法使得全世界范围内每一块网卡的地址都是唯一的。2.2 交换机的工作原理交换机按照收到的每一个数据帧中的 MAC 地址进行信息转发。交换机维2护着一张地址映射表,记录 MAC 地址和交换机端口的对应关系。当交换机接收到一个数据帧后,它首先读取帧头中的源 MAC 地址和目标 MAC 地址。交换机根据源 MAC 地址和接收这个数据帧的端口就可以知道源 MAC 地址的机器连接在哪个端口上,从而更新地址映射表。交换机再根据目标 MAC 地址在地址映射表中查找对应的端口,如果查到则把数据帧直接复制到这个端口上,
4、如果表中没有记录则把数据帧广播到除此接收端口之外的所有端口上。当目标机器对源机器发回响应时,交换机就可以知道目标 MAC 地址在哪个端口上,并更新地址映射表,下次再传送数据帧给这台机器时就不需要广播了,而是直接转发。以上分析的结论是:交换机维护着一张地址映射表,表中的 MAC 地址与交换机端口号的对应关系是学习得到的,因此交换机上不存在 ARP 欺骗问题3 ARP 欺骗的故障现象及类型3.1 ARP 欺骗的故障现象在日常生活中,我们经常会遇到一些网络的故障现象,如:打开一些站点时返回本地计算机的网页被修改,网页上出现了指向病毒网站的超链接、网页错误等;用户上网的速度明显变慢,在 Ping 与
5、DNS 的连通性时明显时间过长且长短不稳定,甚至常常发生丢包现象;从网上邻居拷贝文件有时无法完成、出现错误等现象。出现这些问题后,一般的用户会对本机查杀病毒和安装防火墙,但都不能有效的解决问题。网站管理员也会检查站点的源程序是否被挂木马,但结果是源程序正常。经过反复分析、研究和实践,确定主要原因是局域网内的 ARP 欺骗问题。3.2 ARP 欺骗的类型一种是对局域网计算机的欺骗,另一种是对内部网关的欺骗。对于局域网计算机的 ARP 欺骗实质是:病毒主机以代理计算机的身份插入在两台计算机之间,截获用户的数据、篡改用户的数据,使用户上网的速度变慢或者上不了网。这种 ARP 欺骗最常见的形式就是病毒
6、主机将自己伪造成网关:病毒主机使用网关的 IP 地址和自己的 MAC 地址伪造一个 ARP 应答帧,并将该帧以一定的频率发送给被欺骗主机;ARP 协议的原理决定了无论一台计算机是否发送过 ARP 请求帧,当它收到一个 ARP 应答帧时都会检查并更新自己的 ARP 缓3存表;于是被欺骗主机的 ARP 缓存表中网关的 IP 地址就指向了假网关的MAC 地址;以后该用户计算机发往网关的数据帧则全部发给了这台病毒主机。对于网关的 ARP 欺骗实质是:病毒主机向网关发送伪造的 ARP 应答帧,造成网关 ARP 缓存表中的错误记录,使网关将原本发送给用户计算机的数据发送给了错误的机器,严重时网关将无法工作
7、。这种 ARP 欺骗最常见的形式就是病毒主机将自己伪造成用户计算机:病毒主机用伪造的 IP 地址和自己的 MAC 地址伪造一个 ARP 应答帧,并将该帧以一定的频率发送给网关;网关检查并更新自己的 ARP 缓存表;于是网关的 ARP 缓存表中伪造的 IP 地址就指向了病毒主机的 MAC 地址;以后网关发往该 IP 地址的数据帧则全部发给了这台病毒主机。4 ARP 欺骗的防范ARP 欺骗利用了 ARP 协议固有的缺陷, 但是采用以下几种方法是可以有效的对 ARP 欺骗进行防范的。4.1 IP 地址与 MAC 地址绑定在开始- 运行中输入 cmd, 然后用 arp- d 和 arp- s 命令对
8、IP 地址和 MAC地址进行绑定。编写如下一个批处理来实现 arp 缓存表的刷新与 IP 地址与MAC 地址绑定。arp- darp- darp- s 59.68.29.137 00- 0A- EB- 14- 9C- 28arp- s 59.68.29.129 00- D0- 95- 97- 7C- D6在交换机上,可以采用限制 ARP 流量、关闭端口、合理划分 VLAN 等措施,其中最有效的是将用户计算机网卡的 MAC 与交换机的端口进行绑定,从而使交换机在转发数据包时使用静态的 ARP 表项,同时防止了用户自己随意更改网卡 MAC 可能导致的网络安全问题。4.2 采用安全的网络拓扑结构由于
9、 ARP 包只能在一个网段中传送, 所以把网络分成不同的网段 , 各个网段之间再进行连接, 这样就可以杜绝 ARP 欺骗的发生。4.3 提高安全意识4局域网用户应提高自身的安全意识, 安装防火墙, 并及时更新杀毒软件的病毒库。定期的对磁盘经行杀毒扫描; 给系统安装补丁程序 , 并且给系统管理员帐户设置足够复杂的强密码; 关闭一些不需要的服务 , 条件允许的可关闭一些没有必要的共享。4.4 采取一些预防 ARP 欺骗的专业软件例如奇虎 360ARP 防火墙, 它是奇虎 360 安全卫士系列安全小工具之一。奇虎 360ARP 防火墙推荐局域网用户使用, 它将有效拦截局域网中的 ARP 攻击, 同时
10、将第一时间对网关 MAC 的变更给予提示, 这个工具不但可以有效防御利用ARP 技术的恶意程序, 它还具备追踪 ARP 攻击者的功能 , 这样就能够使我们查出进行欺骗的主机, 并对它采取措施。如图 4 所示 , 上述实验中, 若主机 B 使用了专业软件, 就能轻松的拦截系统正在遭受的 ARP 攻击, 并且能够找出攻击源的 MAC 地址 00- 0A- EB- 14- 9C- 28。5 结束语ARP 欺骗的产生,严重影响局域网的安全、稳定运行。本文从 ARP 原理出发,介绍了一种有效的防范 ARP 欺骗的方法,在实际中起到较好的应用。参考文献51 美国 Todd Lammle. CCNA Study Guide Fourth EditionM. 北京: 电子工业出版社, 2004.2 谢希仁. 计算机网络( 第 4 版)M. 北京: 电子工业出版社 ,2003.3 雷震甲. 网络工程师教程M. 北京: 清华大学出版社, 2004.4 曹洪武.ARP 欺骗入侵的检测与防范策略 J .塔里木大学学报,2007( 2) .5 樊景博,刘爱军 .ARP 病毒的原理及防御办法J.商洛学院学报,2007(2)6 曹洪武.ARP 欺骗入侵的检测与防范策略J.塔里木大学学报 2007(2)