了解ARP地址解析协议
我们先来简单描述下什么是ARP, ARP是地址解析协议, ARP协议主要负责将局域网中的32位IP地址转换为对应的48位物理地址, 即网卡的MAC地址, 比如IP地址为192.168.0.1计算机上网卡的MAC地址为00-03-0F-FD-1D-2B。 整个转换过程是一台主机先向目标主机发送包含IP地址信息的广播数据包, 即ARP请求, 然后目标主机向该主机发送一个含有IP地址和MAC地址数据包, 通过协商这两个主机就可以实现数据传输了。
ARP缓存表
在安装了以太网网络适配器(既网卡)的计算机中有一个或多个ARP缓存表, 用于保存IP地址以及经过解析的MAC地址。 在Windows中要查看或者修改ARP缓存中的信息, 可以使用ARP命令来完成, 比如在Windows XP的命令提示符窗口中键入“ARP -a”或“ARP -g”可以查看ARP缓存中的内容;键入“ARP -d IPaddress”表示删除指定的IP地址项(IPaddress表示IP地址)。 ARP命令的其他用法可以键入“ARP /?”查看帮助信息。
什么是ARP欺骗
将ip地址转换为mac地址是ARP的工作, 在网络中发送虚假的ARP respones, 就是ARP欺骗。
在现实中, 我们都知道邮政机构的主要职责就是靠邮差来接收和收发包裹, 我们只要填写两个正确信息:邮政编码和收件人地址, 就可以吧邮件送达目的地。 这中间邮政编码起到很大的作用, 它的主要作用是把相应的地址信息用数字的形式统一编码, 比如:10080, 就代表了北京市某个行政地区。
如果我们清楚的知道邮政系统是怎样把包裹送达目的地, 就很容易立即ARP协议的处理过程。 ARP同样处理需要两个信息来完成数据传输, 一个是IP地址, 一个是MAC地址。 所以当ARP传输数据包到目的主机时, 就好像邮局送包裹到目的地, IP地址就是邮政编码, MAC地址就是收件人地址。 ARP的任务就是把已知的IP地址转换成MAC地址, 这中间有复杂的协商过程, 这就好像邮局内部处理不同目的地的邮件一样。 我们都清楚邮局也有可能送错邮件, 原因很简单, 就是搞错了收件人地址, 或是搞错了邮政编码, 而这些都是人为的;同理, ARP解析协议也会产生这样的问题, 只不过是通过计算机搞错, 比如, 在获得MAC地址时, 有其他主机故意顶替目的主机的MAC地址, 就造成了数据包不能准确到达。 这就是所谓的ARP欺骗。
ARP欺骗会导致什么问题
假设, 李四在北京, 邮编是100080。 朋友张三要给李四发一封信, 当张三发现通讯录里没有李四的邮政编码, 他就把信件发到了北京市邮局, 于是邮局发了个广播给用户, 问谁的地址邮编是10080, 结果李四发现自己的邮编是10080, 李四就会举手, 说我是。 这样, 信件就发到李四那儿了。 同时李四的地址信息也被张三记在自己的通信录里面了。
问题来了, 如果在广播的时候, 有人假冒李四, 发出应答……。 那信件就发不到李四那儿, 并且, 张三的通信表里面记录了错误的邮编和地址对应的信息。
李四收不到信件, 就会给张三发信息询问, 张三又重新发, 但是他通信录里面的地址是错误的, 所以, 每次发信李四都收不到。 如果这样反复询问, 那必然的结果就是错误信件越发越多, 邮件的错误邮件也越收越多, 超过了正常的接收量, 由于超负荷运转, 而最终导致邮局彻底瘫痪, 邮差也相继失业。 可怜的李四, 他始终没有收到过张三的邮件。
这就好比是ARP欺骗造成的后果, 错误信件就是错误数据包, 当它越来越多时, 就会导致网络瘫痪, 从而导致主机不能上网, 影响企业的正常业务运转。
【51CTO.COM 独家特稿, 转载请注明出处及作者!】
51CTO编者注:现在, 网上关于ARP攻击原理的文章也不少, 我们要了解原理的目的是为了更好的防范, 当我们清楚的知道了ARP欺骗攻击的原理后, 一定有人想问, 怎样实现ARP欺骗攻击, 这也是子明下篇要给大家介绍的是 《实现ARP欺骗攻击的三种武器》, 敬请51CTO网友期待, 关于ARP您有什么疑问或建议, 以及好的文章, 也可通过给我发邮件或在这里留言的方式告诉我们, 我们将尽全力帮您。
……