【网络基础】解析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 检测功能。
相关推荐
智驱力人工智能19 分钟前
极端高温下的智慧出行:危险检测与救援
人工智能·算法·安全·行为识别·智能巡航·高温预警·高温监测
roboko_23 分钟前
TCP详解——流量控制、滑动窗口
服务器·网络·tcp/ip
长弓三石2 小时前
鸿蒙网络编程系列57-仓颉版固定包头可变包体解决TCP粘包问题
网络·tcp/ip·harmonyos
前端小巷子2 小时前
深入解析CSRF攻击
前端·安全·面试
FileLink跨网文件交换2 小时前
跨网文件交换?内外网文件交换十大方法构建安全合规的数据传输通道
运维·服务器·网络
️️(^~^)2 小时前
静态路由综合配置实验报告
服务器·网络·计算机网络·智能路由器
Andy杨3 小时前
20250710-2-Kubernetes 集群部署、配置和验证-网络组件存在的意义?_笔记
网络·笔记·kubernetes
沫儿笙3 小时前
弧焊机器人气体全方位节能指南
网络·人工智能·机器人
寻觅神话064 小时前
Android 应用常见安全问题
安全·android安全·owasp masvs
车载测试工程师4 小时前
汽车功能安全-嵌入式软件测试(软件合格性测试)【目的、验证输入、集成&验证要求】11
功能测试·网络协议·测试工具·安全·车载系统·汽车·测试覆盖率