zoukankan      html  css  js  c++  java
  • arp协议及应用

    下文摘自csdn:没有代码的日子的blog:http://blog.chinaunix.net/uid-21712186-id-1818252.html

    arp协议 

     ARP协议(Address Resolution Protocol,地址解析协议)是一个位于TCP/IP协议栈中的低层协议,负责将某个IP地址解析成对应的MAC地址.

    在局域网中,网络中实际传输的是"帧",帧里面是有目标主机的MAC地址的。当一个基于TCP/IP的应用程序需要从一台主机发送数据给另一台主机时,它把信息分割并封装成包,附上目的主机的IP地址。但是以太网设备并不识别32位IP地址,它们是以48位以太网地址传输以太网数据包。因此,必须把IP目的地址转换成以太网目的地址。
    如何实现IP目的地址转换成以太网目的地址呢?地址解析协议(ARP)就是用于实现这一目的。通过发送ARP广播消息,寻找IP地址到实际MAC地址的映射.当ARP找到了目的主机MAC地址后,就可以形成待发送帧的完整以太网帧头。最后,协议栈将IP包封装到以太网帧中进行传送。

    简单地说,ARP协议主要负责将局域网中的32位IP地址转换为对应的48位物理地址,即网卡的MAC地址,比如IP地址为192.168.0.1网卡MAC地址为00-03-92-D0-A7-2B。首先主机向目标主机发送包含IP地址信息的广播数据包,即ARP请求,然后目标主机向该主机发送一个含有IP地址和MAC地址数据包,通过MAC地址两个主机就可以实现数据传输了。
     
    什么是arp缓存表?

    在以太局域网内数据包传输依靠的是MAC地址,IP地址与MAC对应的关系依靠ARP表,每台安装有TCP/IP协议的主机(包括网关)都有一个ARP缓存表。该表中保存这网络中各个电脑的IP地址和MAC地址的对照关系。
    在正常情况下arp缓存表能够有效的保证数据传输的一对一性。但是ARP协议对应的ARP缓存表维护机制中存在不完善的地方,当主机收到一个ARP的应答包后,它并不验证自己是否发送过这个ARP请求,而是直接将应答包里的MAC地址与IP对应的关系替换掉原有的ARP缓存表里的相应信息。这就是导致arp欺骗的根本原因。

    如何查看ARP缓存表?

    在Windows下查看ARP缓存信息是通过DOS命令来完成的,点击"开始"菜单,选择"命令",输入 cmd 即可进入命令提示符窗口。

    在命令提示符窗口中键入 arp -a 可以查看ARP缓存中的内容。

    在命令提示符窗口中键入 arp -d <IP地址> 或 arp -d 可以删除指定IP或全部的ARP缓存记录。


    怎么建立静态的ARP缓存表?

    对每台主机进行IP和MAC地址静态绑定是防止ARP欺骗的最根本办法。

    通过命令,arp -s可以实现 "arp –s IP MAC地址"。
    例如:"arp –s 192.168.0.1 CC-CC-AA-AA-BB-BB"。

    如果设置成功会在PC上面通过执行 arp -a 可以看到相关的提示:
    Internet Address Physical Address Type
    192.168.0.1 CC-CC-AA-AA-BB-BB static(静态)
    一般不绑定,在动态的情况下:
    Internet Address Physical Address Type
    192.168.10.1 CC-CC-AA-AA-BB-BB dynamic(动态)

    Windows下arp缓存间隔多久进行刷新?

    ARP缓存表中的数据可以是动态的(基于ARP应答),也可以是静态的。静态 ARP 缓存条目是永久性的。

    ARP缓存表对于动态数据采用了老化机制,存在与之相关的超时值。在超过指定的时间后,将从缓存中删除它们。Windows的动态ARP缓存条目不超过10分钟就会被删除(起始时间从某个ARP缓存条目被创建时开始算起)。
     
     
     
     什么是ARP欺骗,它的目的又是什么?

    我们知道在以太局域网内数据包传输依靠的是MAC地址,IP地址与MAC对应的关系依靠ARP表,每台主机(包括网关)都有一个ARP缓存表。在正常情况下这个arp缓存表能够有效的保证数据传输的一对一性。
    在ARP缓存表的实现机制中存在一个不完善的地方,当主机收到一个ARP的应答包后,它并验证自己是否发送过这个ARP请求,而是直接将应答包里的MAC地址与IP对应的关系替换掉原有的ARP缓存表里的相应信息。

    将ip地址转换为mac地址是ARP的工作,在网络中发送虚假的ARP respones,就是ARP欺骗。

    ARP欺骗根据欺骗的中间对象不同可分为二种:
    1>对路由器ARP表的欺骗
    欺骗的原理:  通知路由器一系列错误的内网MAC地址,并按照一定的频率不断进行,使真实的IP-MAC地址信息无法更新保存在路由器中,结果路由器的所有数据只能发送给错误的MAC地址,造成正常PC无法收到信息。

    2>对局域网内PC的网关欺骗
    欺骗的原理:  建立假网关,给局域网中的PC发送ARP的应答包,让PC认为网关已经改到了新的IP(假网关)上了,让被它欺骗的PC向假网关发数据,而不是通过正常的网关上网。局域网内的PC就是上不了网了。

    根据ARP欺骗的原理,要防止ARP欺骗必须阻止计算机和路由器的ARP缓存表被非法篡改。

    防止ARP欺骗的主要方法:

    1>主机静态绑定网关MAC
    使用arp命令静态绑定网关MAC,下面的批处理并加入计算机的启动项中就可完成。

    ARP-d
    ARP-s 网关IP 网关MAC

    优点: 简单易行,普通用户都能操作

    缺点: 只能单向绑定。需要跟网关绑定MAC结合使用。这种方法只能在计算机启动时实施一次MAC地址绑定,效果可能有限。

    2>网关对PC使用IP+MAC绑定

    网关的交换机启用静态ARP绑定功能,将PC用户的IP与MAC进行静态绑定,防止ARP欺骗发生。

    优点:效果明显

    缺点:操作复杂,工作量比较大。无法保证PC端不被欺骗,需要与PC端绑定网关MAC结合使用。

    3>使用ARP服务器
    在局域网内架设ARP服务器,替代主机应答ARP包。

    优点:效果明显

    缺点:配置复杂,需要改变客户端设置。成本高,需要大量的服务器。

    4>使用防ARP攻击的软件
    下载和使用防ARP攻击的软件,如Ani ARP Sniffer、360ARP防火墙等,这类软件的防范原理是自动检测实时防篡改的MAC地址绑定。

    优点:简单易行

    缺点:需要用户端都安装,无法保证网关不被欺骗。


    目前最为有效的法是MAC地址双向绑定。即路由器上绑定客户机IP-MAC地址对照信息,客户机上绑定路由器IP-MAC地址对照信息。
     
                                        ARP请求风暴
     
      如果您的网络时断时续,如果你的网络打开网页非常缓慢,如果你的网络常常IP冲突,那很有可能是ARP病毒在对网络进行ARP攻击和欺骗。

    ARP病毒分为ARP欺骗和ARP风暴两种,其中ARP欺骗主要是假冒别人IP地址进行ARP应答或者请求,从而达到修改别人ARP缓存表项的目的。

    本文主要介绍一下ARP请求风暴

    什么是ARP请求风暴(ARP扫描)?

    ARP请求风暴是指在网络中出现大量ARP请求广播包,几乎都是对网段内的所有主机进行扫描。大量的ARP请求广播几乎完全占用网络带宽资源,导致某些设备(比如网关)忙于处理这些ARP数据而正常ARP数据不能得到处理,ARP请求风暴一般为ARP攻击的前奏。

    ARP请求风暴的通讯模式通常是:

    请求 -> 请求 -> 请求 -> 请求 -> 请求 -> 请求 -> 应答 -> 请求 -> 请求 -> 请求...

    不间断连续的大量ARP请求


    ARP请求风暴出现的可能原因

    *病毒程序,侦听程序,扫描程序。
    *如果网络分析软件部署正确,可能是我们只镜像了交换机上的部分端口,所以大量ARP请求是来自与非镜像口连接的其它主机发出的。
    *由于网络部署不当,来自和交换机相连的其它主机的ARP请求广播包。

    ARP请求风暴的后果
    当整个网段出现大范围发ARP广播风暴(挨个IP轮询MAC),ARP请求占用大量的带宽,将造成网络很不稳定甚至瘫痪。
  • 相关阅读:
    【BZOJ1396】识别子串
    【BZOJ3309】DZY Loves Math
    【XSY3306】alpha
    整体二分
    常系数齐次线性递推
    【XSY2968】线性代数
    【XSY2892】【GDSOI2018】谁是冠军
    【BZOJ5020】[LOJ2289]【THUWC2017】在美妙的数学王国中畅游
    【XSY2989】字符串
    【XSY2988】取石子
  • 原文地址:https://www.cnblogs.com/flash610/p/3120844.html
Copyright © 2011-2022 走看看