【网络基础】解析ARP协议:概念、工作原理、安全风险、相关指令

文章目录

  • [1. 引入](#1. 引入)
  • [2. 概念](#2. 概念)
  • [3. ARP协议工作过程](#3. ARP协议工作过程)
  • [4. 通过指令 获取当前主机所处局域网的所有IP和MAC地址?](#4. 通过指令 获取当前主机所处局域网的所有IP和MAC地址?)
  • [5. arp欺骗](#5. arp欺骗)
    • [5.1 防护措施](#5.1 防护措施)

1. 引入

我们知道,在局域网通信中,一台主机想向另一台主机发送数据,自然需要得到目标网络 以及 目标主机,但发送方只知道目标IP,而不知道对方的MAC地址,自然就无法封装MAC帧;

此时就有一个概念:在同一个网段,通过目标IP获取目标MAC地址 ------ ARP协议(地址解析协议)

3解释ARP的工作过程 前,我们先看ARP数据报的格式


以太网和ARP报文结构的说明:

  • 源 MAC 地址目的 MAC 地址 在以太网首部和 ARP 请求中各出现一次。在链路层为以太网的情况下,这些字段在 ARP 请求中可能显得多余,但对于其他类型的链路层网络,它们可能是必要的。

  • 硬件类型:指示链路层网络类型。例如,1 表示以太网。

  • 协议类型:指示要转换的地址类型。例如,0x0800 表示 IP 地址。

  • 硬件地址长度:对于以太网地址,长度为 6 字节。

  • 协议地址长度:对于 IP 地址,长度为 4 字节。


以上是固定的字段定义。接下来是 ARP 报文中的具体信息:

  • 发送端以太网地址:即发送方的 MAC 地址。

  • 发送端 IP 地址:即发送方的 IP 地址。

  • 目标以太网地址 :目标的 MAC 地址,通常未知时设为全 1,即 ff:ff:ff:ff:ff:ff

  • 目标 IP 地址:即目标的 IP 地址。


关于 op 字段(操作码)的说明:

  • op 字段 指示 ARP 报文的类型:

    • op = 1:ARP 请求。
    • op = 2:ARP 应答。
  • 任何主机在网络中可能会向目标主机发起 ARP 请求,并在之后收到对应的 ARP 应答。

  • 同样,任何主机也可能会接收到来自其他主机的 ARP 请求。


2. 概念

有了上面的ARP协议的引入,简单介绍其概念:

**ARP(Address Resolution Protocol,地址解析协议)**是一种用于在局域网内通过IP地址来寻找对应的MAC地址的协议

  • 其主要作用是在网络中将IP地址转换为物理地址(即MAC地址),从而使得数据包可以在以太网或其他局域网介质中正确传输。

3. ARP协议工作过程

  1. 首先是发送方HA向目标HD发送数据:
    • 所有主机都会收到并处理(目的MAC地址为FF...FF,未知):
  2. 随后HD会进行应答(一对一传输应答):
    • 只有HA(接收方)会收到并处理该应答(目的MAC地址已知):
  1. 从上面arp的工作流程来看,arp会进行一次请求和应答,是不是每次发送数据都得进行请求和应答?
    • 不是,arp请求成功后,请求方会将 [IP:MAC地址] 的映射关系暂时保存
  2. 是否只在目标端的子网中才进行arp,从发送端到目标端的路径中会不会进行?
    • 会进行,如上面的两图,arp的过程在整个局域网中随时可能发生。

4. 通过指令 获取当前主机所处局域网的所有IP和MAC地址?

在Windows/linux上,可以直接使用arp -a命令来查看本地ARP缓存中的IP和MAC地址。这会显示与当前主机通信过的其他设备的IP和MAC地址。

cpp 复制代码
arp -a
Interface: 192.168.1.2 --- 0x3
  Internet Address      Physical Address      Type
  192.168.1.1           00-14-22-01-23-45     dynamic
  192.168.1.3           00-14-22-67-89-ab     dynamic
  192.168.1.4           00-14-22-cd-ef-12     dynamic

5. arp欺骗

**ARP 欺骗(ARP Spoofing)**是一种网络攻击方法,其中攻击者向局域网中的设备发送伪造的 ARP 消息,从而使目标设备将攻击者的 MAC 地址与目标 IP 地址进行关联。这会导致以下问题:

  1. 流量劫持:攻击者可以拦截和查看原本发送给目标设备的数据包。
  2. 中间人攻击:攻击者可以修改或伪造数据包,从而干扰通信。
  3. 网络瘫痪:通过发送大量伪造的 ARP 请求,可以使网络中的设备无法正常通信。

5.1 防护措施

  1. 启用静态 ARP 表:在网络设备上配置静态 ARP 表项,防止 ARP 表被篡改。
  2. 使用 ARP 监控工具:使用工具检测和警报 ARP 欺骗活动。
  3. 网络分段和 VLAN:通过网络分段和 VLAN 限制 ARP 欺骗的影响范围。
  4. 启用动态 ARP 检测:在支持的交换机上启用动态 ARP 检测功能。
相关推荐
桌面运维家5 分钟前
VLAN配置进阶:抑制广播风暴,提升网络效率
开发语言·网络·php
Chengbei1117 分钟前
推送POC汇总 — 2026年1月多产品多类型vulnerability速递与应急建议
安全·web安全·网络安全·系统安全·网络攻击模型·安全架构
安静轨迹22 分钟前
TLS_SSL 警报码完整手册
网络·网络协议·ssl
freewlt1 小时前
深入理解 OpenClaw:打造安全可控的本地 AI 助理架构
人工智能·安全·架构·openclaw
minji...1 小时前
Linux 进程信号(二)信号的保存,sigset_t,sigprocmask,sigpending
linux·运维·服务器·网络·数据结构·c++·算法
red1giant_star3 小时前
浅析XSS原理与分类——含payload合集和检测与防护思路
安全·机器学习
木木em哈哈4 小时前
记一次在线编辑器的探索
linux·服务器·网络
一个有温度的技术博主4 小时前
网安实验系列一:Burp Suite探测敏感信息路径
网络·安全
我要成为嵌入式大佬4 小时前
正点原子MP157--问题详解--二(NFS挂载根文件系统双网卡设置)
linux·服务器·网络
lifejump5 小时前
双冗余链路实现(2/2期)
网络