zoukankan      html  css  js  c++  java
  • ARP协议具体解释之Gratuitous ARP(免费ARP)

    ARP协议具体解释之Gratuitous ARP(免费ARP)

    Gratuitous ARP(免费ARP

    Gratuitous ARP也称为免费ARP。无故ARPGratuitous ARP不同于一般的ARP请求,它并不是期待得到IP相应的MAC地址,而是当主机启动的时候,将发送一个Gratuitous arp请求,即请求自己的IP地址的MAC地址。

    免费ARP的产生

    免费ARP数据包是主机发送ARP查找自己的IP地址。

    通常,它发生在系统引导期间进行接口配置的时候。这里能够使用Wireshark捕获主机启动时候的数据,以验证是否发送Gratutious arp数据包。这里捕获到的数据包,如图1.21所看到的。


    1.21  Gratuitous ARP

    从该界面能够看到第444547数据包都是Gratuitous ARP包。

    免费ARP的作用

    免费ARP有两个方面的作用。

    分别例如以下所看到的:

    1.验证IP是否冲突

    一个主机能够通过它来确定还有一个主机是否设置了同样的IP地址。

    发送主机并不须要一定收到此请求的回答。

    假设收到一个回答,表示网络中存在与自身IP同样的主机。

    假设没有收到应答,则表示本机所使用的IP与网络中其他主机并不冲突。

    【实例1-176】通过使用Wireshark捕获数据包。分析是否有IP冲突的情况。实验环境如图1.22所看到的。


    1.22  验证IP是否冲突

    1在主机A上配置一个IP地址为192.168.7.8。然后又一次启动主机A

    2在主机A启动时。这里也将主机BIP地址改动为192.168.7.8

    3此时看Wireshark获取到的数据包,如图1.23所看到的。


    1.23  免费ARP

    从该界面主要分析9192帧。

    例如以下所看到的:

    191帧中能够看到MAC地址为00:23:8b:c4:05:bf的主机(主机A),向这个局域网发送免费ARP广播包。告诉局域网中全部的主机,它请求使用192.168.7.8

    292帧表示MAC地址为00:19:21:3f:c3:e5的主机(主机B),向整个局域网发送ARP广播包。

    告诉局域网中全部的主机,192.168.7.8MAC地址是00:19:21:3f:c3:e5(主机B)。

    意思是主机B已经使用了192.168.7.8

    从这两个数据包。能够看出主机B响应了主机A发送的免费ARP包,表示网络中存在与A有同样IP的主机。所以A主机启动后。将会看到如图1.24所看到的的窗体。


    1.24  IP冲突提示

    从该窗体的提示信息中能够看到本机的IP地址与网络上其它系统的IP地址冲突。

    2.更换物理网卡

    假设发送ARP的主机正好改变了物理地址(如更换物理网卡),能够使用此方法通知网络中其他主机及时更新ARP缓存。

    【实例1-18】以下验证更换物理网卡后。发送免费ARP的请求包。详细操作过程例如以下所看到的:

    本例中使用的实验环境,如图1.25所看到的。

    在该环境中,主机A和主机BIPMAC地址已经标出。在实验之前这两台主机已经能正常通行。也就是说它们分别有对方的ARP条目。当中,主机A的操作系统为Kali Linux。主机BWindows 7


    1.25  验证免费ARP

    1)查看主机AARP缓存表。

    运行命令例如以下所看到的:

    • root@kali:~# arp

    • Address                 HWtype  HWaddress           Flags Mask            Iface

    • 192.168.1.2              ether   00:23:8b:c4:05:bf             C                  eth0

    从输出的信息中。能够看到该缓存表中有一条ARP条目。当中IP地址为192.168.1.2MAC地址为00:23:8b:c4:05:bf

    2改动主机BMAC地址。例如以下所看到的:

    在桌面上右键单击“网络”|“属性”,打开网络和共享中心。

    在该界面单击“更改适配器设置”命令。将显示如图1.26所看到的。 


    1.26  网络连接  1.27  本地连接 属性 

    在该界面右键单击“本地连接”|“属性”。将显示如图1.27所看到的的界面。

     

    在该界面单击“配置”button。将显示如图1.28所看到的的界面。

    在该界面选择“高级”选项卡,如图1.29所看到的。 


    1.28  Realtek PCLe GBE Family Controller属性   1.29  高级设置 

    在该界面的属性一览中找到“网络地址”(有的系统是Locally Administered AddressNetwork Address),然后单击“值”,并输入要更改的MAC地址(这里输入的MAC地址间不须要使用“-”符号)。

    3查看Wireshark捕获的数据包,如图1.30所看到的。


    1.30  免费ARP广播包

    从该界面能够看到有三个免费ARP包,各自是111518

    这三个包都是MAC地址为00:19:21:3f:c3:e4的主机向局域网中其他主机发送的免费ARP包,告诉其他主机它将使用192.168.1.2IP地址。

    免费ARP包中的数据,如图1.31所看到的。

    1.31  免费ARP广播包

    从该界面能够看到第三行信息为ARP协议(请求/免费ARP)信息。从中能够查看的发生方的MAC地址、IP地址及目标MAC地址、IP地址。这里的目标MAC地址是00:00:00:00:00:00,表示这是一个ARP广播请求。局域网中其他的计算机都会收到。假设有某主机中记录了相关该地址的ARP条目将会被更新。

    4查看主机中的ARP缓存表。例如以下所看到的:

    • root@kali:~# arp

    • Address                  HWtype  HWaddress           Flags Mask            Iface

    • 192.168.1.2                ether   00:19:21:3f:c3:e4              C                eth0

    从输出的信息中能够看到。地址为192.168.1.2ARP条目的MAC地址更新为00:19:21:3f:c3:e4

    本文选自:ARP协议全面实战手冊——协议具体解释、攻击与防御大学霸内部资料。转载请注明出处,尊重技术尊重IT人。


  • 相关阅读:
    【美团技术团队文章--学习笔记】之 Java动态追踪技术探究
    mq
    为啥要读写分离
    算法 数据结构
    对扩展开放,对修改关闭
    redis 事务
    准实时数仓设计方案
    Scala Puzzlers 系列(一):占位符的使用
    【面试题】大数据开发岗位
    Hive 分区和分桶
  • 原文地址:https://www.cnblogs.com/wzzkaifa/p/6721386.html
Copyright © 2011-2022 走看看