ARP地址解析协议应用

2023-02-07

我们知道, 当我们在浏览器里面输入网址时, DNS服务器会自动把它解析为IP地址, 浏览器实际上查找的是IP地址而不是网址。而IP地址转换为第二层物理地址 (即MAC地址) , 在局域网中, 这是通过ARP协议来完成的。一旦这个环节出错, 我们就不能正常和目标主机进行通信, 甚至使整个网络瘫痪。因此ARP协议对网络安全具有重要的意义。

1 什么是ARP协议

ARP协议是“Address Resolution Protocol” (地址解析协议) 的缩写。在局域网中, 网络中实际传输的是“帧”, 帧里面是有目标主机的MAC地址的。在以太网中, 一个主机要和另一个主机进行直接通信, 必须要知道目标主机的MAC地址。目标MAC地址就是通过地址解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程, 也就是将局域网中的32位IP地址转换为对应的48位物理地址, 即网卡的MAC地址, ARP协议的基本功能就是通过目标设备的IP地址查询目标设备的MAC地址, 以保证通信的顺利进行。

2 ARP协议的工作原理

在每台安装有TCP/IP协议的电脑里都有一个ARP缓存表, 表里的IP地址与MAC地址是一一对应的, 如表1所示。

我们以主机A (192.168.1.5) 向主机B (192.16 8.1.1) 发送数据为例。当发送数据时, 主机A会在自己的ARP缓存表中寻找是否有目标IP地址。如果找到了, 也就知道了目标MAC地址, 直接把目标MAC地址写入帧里面发送就可以了;如果在ARP缓存表中没有找到相对应的IP地址, 主机A就会在网络上发送一个广播, 目标MAC地址是“FF.FF.FF.FF.FF.FF”, 这表示向同一网段内的所有主机发出这样的询问:“192.168.1.1的MAC地址是什么?”网络上其他主机并不响应ARP询问, 只有主机B接收到这个帧时, 才向主机A做出这样的回应:“192.168.1.1的MAC地址是00-aa-00-62-c6-09”。这样, 主机A就知道了主机B的

3 ARP攻击的几种方式

3.1 简单的欺骗攻击

这是比较常见的攻击, 通过发送伪造的ARP包来欺骗路由和目标主机, 让目标主机认为这是一个合法的主机, 便完成了欺骗。这种欺骗多发生在同一网段内, 因为路由不会把本网段的包向外转发, 当然实现不同网段的攻击也有方法, 要通过ICMP协议来告诉路由器重新选择路由。

3.2 交换环境的嗅探

在最初的小型局域网中我们使用HUB来进行互连, 这是一种广播的方式, 每个包都会经过网内的每台主机, 通过使用软件, 就可以嗅探到整个局域网的数据。现在的网络多是交换环境, 网络内数据的传输被锁定的特定目标, 既已确定的目标通信主机。在ARP欺骗的基础之上, 可以把自己的主机伪造成一个中间转发站来监听两台主机之间的通信。

3.3 MAC Flooding

这是一个比较危险的攻击, 可以溢出交换机的ARP表, 使整个网络不能正常通信。

3.4 基于ARP的D.O.S

这是新出现的一种攻击方式, D.O.S又称拒绝服务攻击, 当大量的连接请求被发送到一台主机时, 由于主机的处理能力有限, 不能为正常用户提供服务, 便出现拒绝服务。这个过程中如果使用ARP来隐藏自己, 在被攻击主机的日志上就不会出现真实的IP攻击的同时, 也不会影响到本机。

4 防护方法

4.1 IP+MAC访问控制

单纯依靠IP或MAC来建立信任关系是不安全, 理想的安全关系建立在IP+MAC的基础上。这也是校园网上网必须绑定IP和MAC的原因之一。

4.2 静态ARP缓存表

每台主机都有一个临时存放IP-MAC的对应表, ARP攻击就通过更改这个缓存来达到欺骗的目的, 使用静态的ARP来绑定正确的MAC是一个有效的方法。在命令行下使用arp-a可以查看当前的ARP缓存表。以下是本机的ARP表:

C:Documents and Settingsmicro>arp-a

Interface:192.168.18.234 on Inter-face 0x1000003

Internet Address Physical Address Type

192.168.18.100-05-3b-82-1e-02dynamic

其中“dynamic”代表动态缓存, 即收到一个相关ARP包就会修改这项。如果是个非法的含有不正确的网关的ARP包, 这个表就会自动更改。这样我们就不能找到正确的网关MAC, 就不能正常和其他主机通信。静态表的建立用ARP-S IP MAC执行“arp-s 192.168.18.234 00-05-3b-82-1e-02”后, 我们再次查看A RP缓存表:

C:Documents and Settingsmicro>arp-a

Interface:192.168.18.234 on Inter-face 0x1000003

Internet Address Physical Address Type

192.168.18.100-05-3b-82-1e-02static

此时“TYPE”项变成了“static”, 静态类型。这个状态下, 是不会在接受到ARP包时改变本地缓存的。从而有效的防止ARP攻击。静态的ARP条目在每次重启后都要消失需要重新设置。

4.3 ARP高速缓存超时设置

在ARP高速缓存中的表项一般都要设置超时值, 缩短这个这个超时值可以有效的防止ARP表的溢出。

4.4 主动查询

在某个正常的时刻, 做一个IP和MAC对应的数据库, 以后定期检查当前的IP和MAC对应关系是否正常。定期检测交换机的流量列表, 查看丢包率。

ARP本身不能造成多大的危害, 一旦被结合利用, 其危险性就不可估量了。由于ARP本身的问题, 使得防范AR P的攻击很棘手, 经常查看当前的网络状态, 监控流量是个很好的习惯。

摘要:ARP协议又称“地址解析协议”, 它负责通知电脑要连接目标的MAC地址, 以保证通信的顺利进行, ARP协议对网络安全具有重要的意义。

关键词:ARP协议,MAC地址,静态ARP缓存表

参考文献

[1] 谢希仁.计算机网络[M].电子工业出版社, 2008.

[2] 刘远生.计算机网络安全[M].清华大学出版社, 2006.

上一篇:浅析工业原料气净化与绿色化工相关问题下一篇:浅谈多媒体在小学数学教学中的运用