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

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

相关推荐
爬山算法30 分钟前
Redis(153)Redis的网络使用如何监控?
网络·redis·bootstrap
傲世(C/C++,Linux)31 分钟前
Linux系统编程——TCP服务器
linux·服务器·tcp/ip
杨云龙UP1 小时前
SQL Server 备份异地同步 + 清理脚本
运维·服务器·数据库·sql·mysql·sqlserver
极地星光1 小时前
C++链式调用设计:打造优雅流式API
服务器·网络·c++
q***48412 小时前
Nginx中$http_host、$host、$proxy_host的区别
运维·nginx·http
橘子真甜~2 小时前
C/C++ Linux网络编程8 - epoll + ET Reactor TCP服务器
linux·服务器·网络
_lst_2 小时前
linux进程状态
linux·运维·服务器
贝塔实验室2 小时前
红外编解码彻底解析
网络·嵌入式硬件·信息与通信·信号处理·代码规范·基带工程·精益工程
就叫飞六吧2 小时前
“电子公章”:U盾(U-Key)实现身份认证、财务支付思路
网络·笔记
霍格沃兹测试开发学社-小明2 小时前
AI来袭:自动化测试在智能实战中的华丽转身
运维·人工智能·python·测试工具·开源