ARP 与 MAC 地址解析:局域网通信的第一步

ARP 与 MAC 地址解析:局域网通信的第一步

    • [一. 什么是 ARP?](#一. 什么是 ARP?)
    • [二. 上手实践](#二. 上手实践)
    • [三. ARP 欺骗](#三. ARP 欺骗)
    • [四. 小结](#四. 小结)

前言

肝文不易,点个免费的赞和关注,有错误的地方请指出,看个人主页有惊喜。

作者:神的孩子都在歌唱

在局域网中,不论你是访问打印机还是浏览网页,第一步其实都是"问路"------而这个问路的过程,靠的就是 ARP 协议 。它负责把我们知道的 IP 地址翻译成真正用于通信的 MAC 地址

一. 什么是 ARP?

ARP(Address Resolution Protocol)是地址解析协议。它的作用很简单:

已知对方 IP 地址,向局域网请求它的 MAC 地址。

这个解析过程发生在二层网络(数据链路层)和三层网络(网络层)之间,是 TCP/IP 协议栈中不可缺少的一环。

如下ARP工作流程图: PC1 想与 PC2 通信(知道 IP,不知道 MAC)

ARP 的关键行为

  • ARP 请求是 广播 ,即发给局域网中所有主机(目的 MAC 是 FF:FF:FF:FF:FF:FF
  • ARP 响应是 单播,即只有目标主机回应请求者
  • 每台主机有一个 ARP 缓存表,记录已知的 IP-MAC 映射,避免频繁广播

ARP 在通信中的作用: 我们发送的数据帧,都需要一个目标 MAC。IP 地址只是逻辑地址,真正让网卡能发出去的数据,得靠 MAC 地址。ARP 就是 IP 到 MAC 的"翻译官"。没有 MAC 地址,局域网通信就没法进行。

二. 上手实践

神唱一直都觉得光看原理不实践等于白看,那么接下来以 eNSP 为例去看看他是如何运作的,首先我们查看PC1的arp

可以看到此时的ARP表都是空的,然后我们使用PC1去请求 PC2

通过抓包可以发现,刚开始请求的时候回去ARP询问 谁是192.168.1.20,告诉192.168.1.10 , 然后第二条回应的就是 192.169.1.20对应的MAC地址是 54-89-98-F5-2F-D4

现在我们再来看看PC1和交换机的ARP表

可以发现PC1有了PC2的地址和MAC的对应信息了。

小知识:动态的ARP都是有生存时间的,也就是过段时间后这条记录就没有了

三. ARP 欺骗

ARP 也有"软肋"------因为它信任任何响应,没有验证机制。攻击者可以伪造 ARP 响应,把自己冒充成网关,形成中间人攻击(Man-in-the-Middle)。

防范方法:

  • 使用静态 ARP 表;
  • 开启 ARP 防攻击机制;
  • 在三层交换或安全设备上设置 IP-MAC 绑定。

四. 小结

  1. ARP 是连接 IP 与 MAC 的桥梁;

  2. 每次局域网通信,第一步都是先找 MAC 地址;

  3. ARP 请求是广播,响应是单播;

  4. 交换机只转发,不解析;

  5. 安全环境下建议配合静态 ARP 或防攻击设置。

作者:神的孩子都在歌唱

本人博客:https://blog.csdn.net/weixin_46654114

转载说明:务必注明来源,附带本人博客链接

相关推荐
郝学胜-神的一滴7 小时前
深入解析Python字典的继承关系:从abc模块看设计之美
网络·数据结构·python·程序人生
绵绵细雨中的乡音7 小时前
深入理解 ET 与 LT 模式及其在 Reactor 模型中的应用
服务器·网络·php
暖馒8 小时前
Modbus应用层协议的深度剖析
网络·网络协议·c#·wpf·智能硬件
yunfuuwqi10 小时前
OpenClaw✅真·喂饭级教程:2026年OpenClaw(原Moltbot)一键部署+接入飞书最佳实践
运维·服务器·网络·人工智能·飞书·京东云
迎仔10 小时前
C-算力中心网络隔离实施方法:怎么搞?
运维·网络
代码游侠10 小时前
C语言核心概念复习——网络协议与TCP/IP
linux·运维·服务器·网络·算法
肖永威10 小时前
macOS环境安装/卸载python实践笔记
笔记·python·macos
枷锁—sha11 小时前
【SRC】SQL注入WAF 绕过应对策略(二)
网络·数据库·python·sql·安全·网络安全
Zach_yuan11 小时前
深入浅出 JSONCpp
linux·服务器·网络·c++
迎仔13 小时前
B-算力中心网络隔离的必要性:为什么必须隔离?
网络