05.《ARP协议基础知识探秘》

ARP协议基本介绍与实践

文章目录

ARP概述

作用:ARP(Address Resolution Protocol,地址解析协议)用于根据目标设备的 IP 地址,解析出其对应的 MAC 地址,以实现局域网内的数据帧传输。简单来说,ARP 就像网络世界里的 "问路向导"。当设备(比如电脑、手机)想和另一个设备通信时,虽然知道对方的 IP 地址(就像知道对方的门牌号),但还需要知道对方的 MAC 地址(相当于对方的 "物理标识")才能发送数据。ARP 的作用就是根据已知的目的 IP 地址,找到对应的 MAC 地址。

ARP报文类型

ARP工作过程解析

ARP 通过两种报文完成地址解析,整个过程可以分为 "询问" 和 "回应" 两步:

请求报文(ARP Request)

  • 发送方式:广播(可以理解为 "大声喊话",同一网络内的所有设备都能收到)。
  • 目的 MAC 地址 :固定为ffff-ffff-ffff(这是广播 MAC 地址,代表发给所有人)。
  • 作用 :比如设备 (PC1) 想找 IP 为 10.1.1.2 的设备,就会发送请求:"谁的 IP 是 10.1.1.2?请告诉我你的 MAC 地址!"

回复报文(ARP Reply)

  • 发送方式:单播(相当于 "悄悄话",只发给发出请求的设备)。
  • 作用 :当 IP 为 10.1.1.2 的设备 (PC2) 收到请求后,会单独回复设备 A:我的 IP 是 10.1.1.2,MAC 地址是 xx:xx:xx:xx:xx:xx

ARP工作原理示意图

拓扑图:

抓包查看报文

无故ARP/免费ARP

原理 :设备在配置或使用某个IP地址之前,会向网络中广播一个发送无故ARP请求报文,该报文中目标IP地址与源IP地址相同,用于检测IP地址是否冲突。如果收到reply回复,说明地址已经被使用;如果未收到reply回复,说明地址没有被使用。

抓包图例

实验案例

实验目标

通过抓包工具观察 ARP 请求与回复过程,理解无故 ARP 的冲突检测机制。

实验环境
  • 两台处于同一局域网的计算机
  • Wireshark 或类似网络抓包工具
实验步骤
  1. 开启抓包:在主机A上启动 Wireshark,选择正确的网络接口,开始抓包。
  2. 触发 ARP 请求 :在主机A上 ping 主机B的 IP 地址(如 ping 192.168.1.2),触发 ARP 解析过程。
  3. 观察 ARP 报文 :在抓包结果中过滤 arp,查看 Request 和 Reply 报文。
  4. 模拟无故 ARP:在主机A上执行以下命令(以 Windows 为例):
cmd 复制代码
arp -d *   // 清除ARP缓存,清除所有 ARP 缓存条目。
ping 192.168.1.1   // 向目标 IP 发送 ICMP 请求,若 ARP 缓存中无对应 MAC,则会先发起 ARP 请求。

5.分析结果:观察是否有无故 ARP 报文发出,并注意是否有冲突回复。

如涉及版权问题,请联系作者处理!!!

相关推荐
乘云数字DATABUFF3 天前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
荣--5 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森5 天前
动手实战学 Docker — 从零到集群编排完全指南
运维
anyup5 天前
来简单聊聊鸿蒙开发,万元奖金的事~
前端·华为·harmonyos
Avan_菜菜6 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
SelectDB7 天前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
zzzzzz3108 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
XIAOHEZIcode8 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户0328472220709 天前
如何搭建本地yum源(上)
运维
大树8812 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai