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

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

相关推荐
Ching·20 小时前
linux系统编程(十③)RK3568 socket之 TCP 服务器的实现【更新客户端断开重连依旧可以收发】
linux·服务器·tcp/ip·rk3568
huangyuchi.20 小时前
【Linux网络】初识网络,网络的基础概念
运维·服务器·ip地址·tcp/ip协议·linux网络·mac地址·网络传输流程
恋上钢琴的虫20 小时前
使用 Loki + Promtail + Grafana搭建日志系统
运维·grafana
deng-c-f21 小时前
Linux C/C++ 学习日记(27):KCP协议(三):源码分析与使用示例
linux·服务器·网络·c++·网络编程·kcp
电鱼智能的电小鱼21 小时前
服装制造企业痛点解决方案:EFISH-SBC-RK3588 柔性化吊挂调度方案
网络·人工智能·嵌入式硬件·算法·制造
wanhengidc21 小时前
如何使用云手机进行游戏挂机?
运维·服务器·游戏·智能手机·云计算
汪汪大队u21 小时前
为什么 filter-policy 仅对 ASBR 的出方向生效,且即使在该生效场景下,被过滤的路由在协议内部(如协议数据库)依然存在,没有被彻底移除?
服务器·前端·网络
kyle~21 小时前
设计模式---观察者模式
服务器·观察者模式·设计模式
wangjialelele21 小时前
端口号、常见协议和套接字
linux·运维·服务器·c语言·网络
木易 士心21 小时前
Nginx 基本使用和高级用法详解
运维·javascript·nginx