美文网首页
网络协议分析-ARP与RARP

网络协议分析-ARP与RARP

作者: Odinmx | 来源:发表于2019-12-09 19:30 被阅读0次

ARP与RARP

ARP协议:

地址解析协议,实现从IP地址到MAC地址的映射,询问目标IP对应的MAC地址。

ARP 报文格式:

ARP报文格式

目的以太网地址全为1,即FF:FF:FF:FF:FF:FF,即在本地局域网内,所有的以太网接口接受这个数据帧。

帧类型:ARP是0x0806 RARP是0x8035

硬件类型与协议类型:以太网的值是1,IP协议的值是0806

硬件地址长度和协议地址长度:

    硬件地址长度是48bit 代表MAC地址

    协议地址长度是32bit 代表IP地址

操作码:

    1=>ARP请求

    2=>ARP应答

    3=>RARP请求

    4=>RARP应答

ARP发送时,只有目标硬件地址是空的,操作码为1,当目标主机收到ARP请求时,会把自己的MAC地址填写到这个字段,然后把操作码改为2,发送回去

代理ARP:

当ARP请求目标跨网段时,网关设备收到此ARP请求,会将自己的MAC地址返回给请求者。(善意的欺骗)

代理ARP示意图

但是在实际网络中,无论是同网段还是跨网段,都是采用的正常的ARP,而不是代理ARP。

代理ARP仅用于以下情景:当电脑没有网关/路由功能时,并且需要跨网段通信时。

ARP的捎带机制:

    在请求其他主机物理地址时,把自己的IP/MAC映射一并写到请求报文中

免费ARP:

    当主机启动时,发送一个Gratuitous arp 请求,来请求IP地址对应的MAC地址

        常用于双机热备系统,例如 Cisco的HSRP就采用了这种技术,虚拟出来的MAC地址是0000-0c07-ac+HSRP的group ID。同时VRRP也采用了这种技术。

        另一种应用是用来检测IP冲突。

ARP欺骗:

        由于ARP并没有做身份验证处理,所以可以采用伪造ARP_replay 数据包来修改IP与MAC地址的映射,从而达到自己的目的。

    防范方法:

            网关定时发送IP/MAC映射

            静态ARP

            DHCP snooping

    操作:

        同网段:

                可以直接修改ARP_replay 数据包

        跨网段:

                采用ARP欺骗+ICMP重定向

                ICMP重定向:ICMP重定向报文是ICMP控制报文中的一种,在特定情况下,路由器检测到一台机器使用非优化路由时,它会向该主机发送一个ICMP重定向报文,请求主机改变路由。路由器也会把初始数据报向它的目的地转发。

        步骤:

            1. 首先修改IP包的生存时间TTL为255 ,这样有利于做充足的广播。

            2. 利用可以自由制作各种包的工具(hping2)

            3. 使目标主机down掉

            4. 发送一个ARP相应包,进行ARP欺骗

            5. 现在每台主机都知道了新的IP/MAC对应关系,但是目前每台主机只会在局域网中查找这个地址,不会把数据包丢给路由

            6. 构造ICMP重定向数据包,将到达改地址的路径通告为路由。

       以上只是理想情况下,实际上主机接受ICMP重定向报文有一下限制:

            1. 新路由必须是直达的

            2. 重定向包必须来自去往目标的当前路由

            3. 重定向包不能通知主机用自己做路由

            4. 被改变的路由必须是一条间接路由

ACD:

    IP地址冲突检测

        ACD 分为 ARP检测报文和ARP通知报文,ARP检测报文将发送端IP地址设置为0,防止检测是发生污染。ARP通知报文是GARP报文(免费ARP),向全网广播自己的物理地址。

        在刚收到IP分配后,会先向全网广播ACD探测报文,一般会有0-1s的延迟,如果经过三次ACD报文(每次间隔在1-2s之间) 没有相应的话,就开始发送通知报文。

RARP:

    反向ARP,用MAC地址来请求IP地址。

    工作原理:

            ▪ 发送主机发送一个本地RARP广播,在这个广播包中,声明自己的MAC地址,并且请求任何收到此请求的RARP服务器分配一个IP地址。

            ▪ 本地RARP服务器,收到此请求后,检查RARP列表,查找该MAC地址对应的IP地址。

            ▪ 如果存在记录,RARP服务器就会给源主机发送一个响应数据包,并将此IP提供给对方主机使用。

            ▪ 如果不存在,则不做任何回应。

    主要应用:

              无盘工作站


图片侵删

文章有不正确之处,欢迎指出,谢谢

相关文章

网友评论

      本文标题:网络协议分析-ARP与RARP

      本文链接:https://www.haomeiwen.com/subject/iysigctx.html