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 报文发出,并注意是否有冲突回复。

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

相关推荐
聆风吟º8 小时前
CANN开源项目深度实践:基于amct-toolkit实现自动化模型量化与精度保障策略
运维·开源·自动化·cann
较劲男子汉11 小时前
CANN Runtime零拷贝传输技术源码实战 彻底打通Host与Device的数据传输壁垒
运维·服务器·数据库·cann
wypywyp12 小时前
8. ubuntu 虚拟机 linux 服务器 TCP/IP 概念辨析
linux·服务器·ubuntu
风流倜傥唐伯虎12 小时前
Spring Boot Jar包生产级启停脚本
java·运维·spring boot
Doro再努力12 小时前
【Linux操作系统10】Makefile深度解析:从依赖推导到有效编译
android·linux·运维·服务器·编辑器·vim
senijusene12 小时前
Linux软件编程:IO编程,标准IO(1)
linux·运维·服务器
不像程序员的程序媛12 小时前
Nginx日志切分
服务器·前端·nginx
忧郁的橙子.12 小时前
02-本地部署Ollama、Python
linux·运维·服务器
chian-ocean12 小时前
深入 CANN:使用 `tbe-op` 构建自定义高性能算子
网络
醇氧12 小时前
【linux】查看发行版信息
linux·运维·服务器