ARP协议详解之Gratuitous ARP(免费ARP)
ARP协议详解之Gratuitous ARP(免费ARP)
Gratuitous ARP(免费ARP)
Gratuitous ARP也称为免费ARP,无故ARP。Gratuitous ARP不同于一般的ARP请求,它并非期待得到IP对应的MAC地址,而是当主机启动的时候,将发送一个Gratuitous arp请求,即请求自己的IP地址的MAC地址。
免费ARP的产生
免费ARP数据包是主机发送ARP查找自己的IP地址。通常,它发生在系统引导期间进行接口配置的时候。这里可以使用Wireshark捕获主机启动时候的数据,以验证是否发送Gratutious arp数据包。这里捕获到的数据包,如图1.21所示。
图1.21 Gratuitous ARP包
从该界面可以看到第44、45、47数据包都是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启动时,这里也将主机B的IP地址修改为192.168.7.8。
(3)此时看Wireshark获取到的数据包,如图1.23所示。
图1.23 免费ARP包
从该界面主要分析91、92帧。如下所示:
(1)从91帧中可以看到MAC地址为00:23:8b:c4:05:bf的主机(主机A),向这个局域网发送免费ARP广播包。告诉局域网中所有的主机,它请求使用192.168.7.8。
(2)92帧表示MAC地址为00:19:21:3f:c3:e5的主机(主机B),向整个局域网发送ARP广播包。告诉局域网中所有的主机,192.168.7.8的MAC地址是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和主机B的IP、MAC地址已经标出。在实验之前这两台主机已经能正常通行,也就是说它们分别有对方的ARP条目。其中,主机A的操作系统为Kali Linux;主机B为Windows 7。
图1.25 验证免费ARP
(1)查看主机A的ARP缓存表。执行命令如下所示:
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.2,MAC地址为00:23:8b:c4:05:bf。
(2)修改主机B的MAC地址。如下所示:
在桌面上右键单击“网络”|“属性”,打开网络和共享中心。在该界面单击“更改适配器设置”命令,将显示如图1.26所示。
图1.26 网络连接 图1.27 本地连接 属性
在该界面右键单击“本地连接”|“属性”,将显示如图1.27所示的界面。
在该界面单击“配置”按钮,将显示如图1.28所示的界面。在该界面选择“高级”选项卡,如图1.29所示。
图1.28 Realtek PCLe GBE Family Controller属性 图1.29 高级设置
在该界面的属性一览中找到“网络地址”(有的系统是Locally Administered Address或Network Address),然后单击“值”,并输入要更改的MAC地址(这里输入的MAC地址间不需要使用“-”符号)。
(3)查看Wireshark捕获的数据包,如图1.30所示。
图1.30 免费ARP广播包
从该界面可以看到有三个免费ARP包,分别是11、15、18。这三个包都是MAC地址为00:19:21:3f:c3:e4的主机向局域网中其它主机发送的免费ARP包,告诉其它主机它将使用192.168.1.2的IP地址。免费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.2的ARP条目的MAC地址更新为00:19:21:3f:c3:e4。
本文选自:ARP协议全面实战手册——协议详解、攻击与防御大学霸内部资料,转载请注明出处,尊重技术尊重IT人!
ARP协议详解之Gratuitous ARP(免费ARP)相关推荐
- TCP/IP网络协议栈:ARP协议详解
<TCP/IP网络协议栈:以太网数据包结构.802.3> <TCP/IP网络协议栈:ARP协议详解> <TCP / IP攻击:ARP缓存中毒的基本原理.TCP序列号预测和 ...
- ARP协议详解之ARP动态与静态条目的生命周期
ARP协议详解之ARP动态与静态条目的生命周期 ARP动态条目的生命周期 动态条目随时间推移自动添加和删除. q 每个动态ARP缓存条目默认的生命周期是两分钟.当超过两分钟,该条目会被删掉.所以,生 ...
- ARP协议详解以及arp攻击与防御
目录 什么是ARP ? 为什么既要有IP地址又要有MAC地址? ARP协议属于网络层还是链路层? ARP帧格式 ARP协议工作原理 ARP命令和缓存表 代理ARP和免费ARP ARP协议攻击 ARP协 ...
- 数据链路层——MAC帧、ARP协议详解
用于同一链路中的两个节点之间的数据传输. 以太网MAC帧 MAC帧格式 ● 目的地址和源地址是指网卡的硬件地址,也叫MAC地址,长度是48位,是在网卡出厂时固定的: ● 帧协议类型字段有三种值,分别对 ...
- TCP/IP协议基本概括+ARP协议详解+DNS协议详解---Linux学习笔记
TCP/IP协议的体系结构: TCP/IP协议族四层模型和OSI七层模型 上层协议使用下层协议的服务,下层协议给上层协议提供一个接口. 四层模型中各个层次的作用和特点 上图说明: 最底层是数据链路层, ...
- 协议编码分析 - ARP协议详解
一. ARP协议简介 ARP,全称Address Resolution Protocol,中文名为地址解析协议,它工作在数据链路层,在本层和硬件接口联系,同时对上层提供服务.&l ...
- 网络-ARP协议详解与ARP欺骗(中毒)攻击实战
目录 简介 ARP报文 ARP流程 四种情况 ARP请求 ARP响应 ARP攻击原理 实战 ARP欺骗 环境 查看arp表 更新攻击机软件 使用ettercap进行攻击 查看劫持到的图片 ARP攻击防 ...
- ARP协议详解:了解数据包转发与映射机制背后的原理
数据来源 一.广播与广播域概述 1.广播与广播域 广播:将广播地址做为目标地址的数据帧 广播域:网络中能接收到同一个广播所有节点的集合(广播域越小越好,收到的垃圾广播越 ...
- ARP协议详解,小白易懂
当网络设备有数据要发送给另一台网络设备时,必须要知道对方的网络层地址(即IP地址).IP地址由网络层来提供,但是仅有IP地址是不够的,IP数据报文必须封装成帧才能通过数据链路进行发送.数据帧必须要包含 ...
最新文章
- wpf 窗口的返回值_如何:获取页函数的返回值
- Google 已正式结束对 Eclipse Android 的支持
- 【C/C++】代码换行问题
- bzoj4565 [HAOI2016]字符合并 结论+状压+区间dp
- POJ 2112 二分+最大流
- html旅途模版,HTML黄色欧美形式探险旅途指南网页模板代码
- 面试一线互联网大厂?那这道题目你必须得会!
- Visual Studio 2015出现Cannot find one or more components. Please reinstall the application.的问题解决
- 在vue项目中导入element-ui
- 【安装包】VC++6.0
- STM32移植USB驱动总结
- 三星S5P6818之UBOOT网络配置
- element-ui el-descriptions取消冒号
- 【毕业设计系列】005:视频图像数字水印matlab GUI系统设计
- 理论力学---约束及其分类
- arp攻击实验(一)用一条指令让对方瞬间无法上网
- C# ——字符添加角标
- mtk配置flash
- 通俗理解极大似然估计
- nil Foundation blueprint模块代码解析