网络安全中的ARP协议和欺骗技术及其对策pc软件 文章资讯 手机软件

您当前的位置→图文中心ARP文章ARP原理网络安全中的ARP协议和欺骗技术及其对策

网络安全中的ARP协议和欺骗技术及其对策


2008/8/2 11:39:28 编辑:佚名 来源:admin 

ARP协议的概念和工作原理对学习网络net安全知识的初学者来说是最先是遇到的几个重要的知识点之一, 其中ARP欺骗技术和及其对策更是学习网络net安全中的重点与难点, 往往难以一下子掌握这些抽象复杂的机理。 因此很有必要用详细介始一下网络net安全中的ARP协议和欺骗技术相应的对策。
一, TCP/IP协议之ARP协议的定义
ARP协议即地址解析协议Address Resolution Protocol, ARP协议是将IP地址与网络net物理地址一一对应的协议。 负责IP地址和网卡实体地址(MAC)之间的转换。 也就是将网络net层(IP层, 也就是相当于ISO OSI 的第三层)地址解析为数据信息连载层(MAC层, 也就是相当于ISO OSI的第二层)的MAC地址。 如果您对网路七层协定有比较清晰的理解的话应该知道各个层级之间都使用其各自的协定。 一张ARP的表, 用来支持就在MAC地址和IP地址之间的一一对应关系。 它提供两者的互相一起转换。
二, ARP协议的工作原理
就在以太网(Ethernet)中, 一个网络net设备要和另一个网络net设备来进行直接通信, 除了知道目标设备的网络net层逻辑地址(如IP地址)外, 还要知道目标设备的第二层物理地址(MAC地址)。 ARP协议的可以说是功能就是可以通过目标设备的IP地址, 查询目标设备的MAC地址, 以保证通信的顺利来进行。
当一个网络net设备有请求需要和另一个网络net设备通信时, 它最先是把目标设备的IP地址与我自己的子网掩码来进行"与"操作, 以判断目标设备与我自己是否位于同一个网段内。 如果目标设备就在同一个网段内, 并且源设备没有获得与目标IP地址相对应的MAC地址信息, 则源设备以第二层广播的形式(目标MAC地址为全1)发送sendARP请求报文, 就在ARP请求报文中包含了源设备与目标设备的IP地址。 同一个网段中的所有其他设备都可以能够收到并分析这个ARP请求报文, 如果某设备发现报文中的目标IP地址与我自己的IP地址相同, 则它向源设备发回ARP响应报文, 可以通过该报文使源设备获得目标设备的MAC地址信息。
如果目标设备与源设备不就在同一个网段, 则源设备最先是把IP分组发向我自己的缺省网关(Default Gateway), 由缺省网关对该分组来进行转发。 如果源设备没有有关联于缺省网关的MAC信息, 则它同样可以通过ARP协议获取缺省网关的MAC地址信息。 为了减少广播量, 网络net设备可以通过ARP表就在缓存中保存IP与MAC地址的映射信息。 就在一次ARP的请求与响应过程中, 通信双方都把对方的MAC地址与IP地址的对应关系保存就在各自的ARP表中, 以就在后续的通信中使用。 ARP表使用老化机制, 删除就在一段时间内没有使用过的IP与MAC地址的映射关系。
还是有当传送过来的包要传向一个LAN的主机时, 当它到达网关时, 网关要求ARP程序去寻找到物理主机或与IP地址相对应的MAC地址。 ARP程序就在缓存中寻找, 如果去寻找到地址, 就提供此地址, 以便让此包转换成相应的长度和格式, 以传送到此主机。 如果未去寻找到, ARP程序就就在网上广播一个特殊格式的消息, 看哪个机器知道与这个IP地址相关的MAC地址。 如果一台机器发现那是我自己的IP地址, 它就发送send回应, 这样就指出了相应的地址。 ARP程序就更新我自己的缓存之后发送send此包到回应的MAC地址。 因为不同协议的相应处理方法不同, 所以有不同网络net的地址解析请求。 也有反向地址解析协议(RARP)供不知道IP地址的主机从ARP缓存中获得IP地址。
我们我自己还是来可以通过实验愈加深入直观地了解ARP协议的工作原理吧。 我们我自己假设有两台主机:A机的IP地址是192.168.0.1, MAC地址是52-54-ab-27-82-83 。
B机的IP地址是192.168.0.2, MAC地址是52-54-ab-27-82-84 。
当主机A想与主机B来进行通讯时, A机只知道B机的IP地址是192.168.0.2,当数据信息包封装到MAC层时他怎么才能知道B 
的MAC地址呢, 一般的OS中是这样做的, 就在OS的内核中保存一分MAC地址表, 就是我们我自己一中介始到的。 用arp -a就可以能够看见这个表的内容了, 例如:
C:/>arp -a
Interface: 192.168.0.X on Interface 0x1000002
Internet Address      Physical Address      Type
192.168.0.1           52-54-ab-27-82-83     dynamic
其中表内有IP和MAC地址的对应关系, 当要过来进行通讯时, 系统system先查看这个表中是否有相关的表项, 如果有就直接使用, 如果没有系统system就一定会发出一个ARP请求包,这个包的目的地址为ffffffffffff的广播地址, 他的作用就是询问局域网内IP地址为192.168.0.2的主机的MAC地址, 就像是A就在局域网中发信息找一个IP地址为192.168 
.0.2的主机MAC地址, 同样A机把自已的MAC地址告诉出去是52-54-ab-27-82-83 , 随后所有主机都会接收到这个包, 但只有IP为192.168.0.2的B才会响应一个ARP应答包给主机A,B机会回信息给A机说他的MAC地址是52-54-ab-27-82-84  
,好这下主机A就知道B的MAC地址了, 于时他就可以能够封包发送send了, 同一个时间主机A将B的MAC地址放入ARP缓冲中, 隔一定时间就将其删除, 确保会一直不断更新。
提醒一定要注意, 就在这个过程中, 如果主机A就在发送sendARP请求时, 假如该局域网内有一台主机C的IP和A相同, C就一定会得知有一台主机的IP地址同自已的IP地址相同, 于时就蹦出一个IP冲突的对话筐。 与ARP相对应的还是有一个协议RARP:Reverse 
Address Resolution Protocol,
反向地址解析协议, 该协议主要用于工作站模型动态获取IP的过程中, 作用是由MAC地址向服务器取回IP地址。
三, 怎么才能实现ARP协议的欺骗技术和相应的对策
1, ARP协议欺骗技术
当我们我自己设定一个目标来进行ARP欺骗时, 也就是把MAC地址可以通过一主机A发送send到主机B上的数据信息包都变成发送send给主机C的了, 如果C能够接收到A发送send的数据信息包后, 第一步属于嗅探成功了, 而对于主机A来就在目前是不有可能意识到这一点, 主机C接收到主机A发送send给主机B的数据信息包可没有转交给B。 当来进行ARP重定向。 打开主机C的IP转发功能, A发送send过来的数据信息包, 转发给C, 好比一个路由器一样。 但是这就是ARP协议欺骗真正的一步, 假如主机C来进行发送sendICMP重定向的话就麻烦了, 因为他可以能够直接来进行整个包的修改转发, 捕获到主机A发送send给的数据信息包, 全部来进行修改后再转发给主机B, 而主机B接收到的数据信息包完全认为是从主机A发送send来的。 这样就是主机C来进行ARP协议欺骗技术, 对于网络net安全来是很重要的。 当然还可以能够可以通过MAC地址来进行欺骗的。
2, ARP协议欺骗技术相应对策
各种网络net安全的对策都是相对的, 主要要看网管平时对网络net安全的重视性了。 下面介始一些相应的对策:
1) 就在系统system中建立静态ARP表 ,建立后对本身自已系统system反应影响不大的, 对网络net反应影响较大, 破坏了动态ARP解析过程。 静态ARP协议表将不会过期的, 我们我自己用“arp -d”命令消除ARP表, 即手动删除。 但是有的系统system的静态ARP表项可以能够被动态刷新, 如Solaris系统system,那样的话依靠静态ARP表项并不能够对抗ARP欺骗攻击, 相反纵容了ARP欺骗攻击, 因为虚假的静态ARP表项将不会全自动超时消失。 当然,  可以能够考虑利用cron机制补救之。 (增加一个crontab) 为了对抗ARP欺骗攻击, 对于Solaris系统system来说, 应该结合"禁止相应网络net接口做ARP解 析"和"使用静态ARP表"的布置设置 
2)就在相对系统system中禁止某个网络net接口做ARP解析(对抗ARP欺骗攻击), 可以能够做静态ARP协议布置设置(因为对方将不会响应ARP请求报文) 如:arp -s XXX.XXX.XX.X 08-00-20-a8-2e-ac 
就在绝大多数操作系统system如:Unix, BSD, NT等, 都可以能够结合"禁止相应网络net 接口做ARP解析"和"使用静态ARP表"的布置设置来对抗ARP欺骗攻击。 而Linux系统system, 其静态ARP表项将不会被动态刷新, 所以不有请求需要"禁止相应网络net接口做ARP解析"即可对抗ARP欺骗攻击。
结尾:本文还较深入和直观地介绍说明了ARP协议的可以说是原理与可以说是工作过程及ARP欺骗技术。 以及其对策, 如果您有什么更好的ARP欺骗技术的对策, 欢迎交流。 谢谢。

相关文章
  • 360安全卫士怎么可以禁止软件程序访问网络
  • 日本在上周发生严重的网络故障,这件事竟然与谷歌有关
  • 驱动人生如何测试网络速度?驱动人生测试网速功能的使用方法
  • NASA拍到迄今最清楚的外星人照片,使全网络进入疯狂状态!
  • 2017有内涵的网络个性签名大全
  • 新iPhone网络连接速度可能要比对手们慢
  • iPhone8即将上各种黑科技,有望第一时间上5G网络
  • 中国网络安全法正式施行
  • 发表评论
    阅读排行
    网站帮助 - 广告合作 - 下载声明 - 网站地图