网络安全知识核心之ARP协议

概述

地址解析协议,即 ARP(Address Resolution Protocol),是根据 IP 地址获取物理地址的一个TCP/IP 协议。

  1. 发送 ARP 请求的以太网数据帧 广播 到以太网上的每个主机,ARP 请求帧中包含了目的主机的 IP 地址。

  2. 目的主机收到了该 ARP 请求之后,会发送一个 ARP 应答,里面包含了目的主机的 MAC 地址。

ARP 协议工作原理

  1. 每个主机都会在自己的 ARP 缓冲区中建立一个 ARP 列表,以表示 IP 地址和 MAC 地址之间的对应关系。

  2. 主机(网络接口)新加入网络时(也可能只是 mac 地址发生变化,接口重启等), 会发送免费 ARP 报文把自己 IP 地址与 Mac 地址的映射关系广播给其他主机。

  3. 网络上的主机接收到免费 ARP 报文时,会更新自己的 ARP 缓冲区。将新的映射关系更新到自己的 ARP 表中。

  4. 某个主机需要发送报文时,首先检查 ARP 列表中是否有对应 IP 地址的目的主机的 MAC地址,如果有,则直接发送数据,如果没有,就向本网段的所有主机发送 ARP 数据包,该数据包包括的内容有:源主机 IP 地址,源主机 MAC 地址,目的主机的 IP 地址等。

当本网络的所有主机收到该 ARP 数据包时:

  1. 首先检查数据包中的 IP 地址是否是自己的 IP 地址,如果不是,则忽略该数据包。

  2. 如果是,则首先从数据包中取出源主机的 IP 和 MAC 地址写入到 ARP 列表中,如果已经存在,则覆盖。

  3. 然后将自己的 MAC 地址写入 ARP 响应包中,告诉源主机自己是它想要找的 MAC地址。

源主机收到 ARP 响应包后。将目的主机的 IP 和 MAC 地址写入 ARP 列表,并利用此信息发送数据。如果源主机一直没有收到 ARP 响应数据包,表示 ARP 查询失败。ARP 高速缓存(即 ARP 表)是 ARP 地址解析协议能够高效运行的关键

如何防范ARP攻击

1、 MAC地址绑定

使网络中每一台计算机的IP地址与硬件地址一一对应,不可更改。

2、使用静态ARP缓存

用手工方法更新缓存中的记录,使ARP欺骗无法进行。

3、使用ARP服务器

通过该服务器查找自己的ARP转换表来响应其他机器的ARP广播。确保这台ARP服务器不被黑。

4、使用ARP欺骗防护软件:

如ARP防火墙

5、及时发现正在进行ARP欺骗的主机并将其隔离

6、使用最新版本 DNS服务器 软件并及时安装补丁

7、关闭DNS服务器的递归功能

DNS服务器利用缓存中的记录信息回答查询请求或是DNS服务器通过查询其它服务器获得查询信息并将它发送给客户机,这两种查询方式称为递归查询,这种查询方式容易导致DNS欺骗。

8、限制区域传输范围

限制域名服务器做出响应的地址、限制域名服务器做出响应的递归请求地址、限制发出请求的地址。

9、限制动态更新

10、采用分层的DNS体系结构

11、检查源代码

如果发生了URL重定向,就一定会发现。不过,检查用户连接的每一个页面的源代码对普通用户来说是不切实际的想法。

12、确保应用有效和能适当地跟踪用户

无论是使用cookie还是会话ID,都应该确保要尽可能的长和随机。

相关推荐
小此方2 小时前
Re:Linux系统篇(二十六)进程篇·十一:从底层原理到 exec* 家族:彻底搞懂 Linux 进程程序替换
linux·运维·服务器
wgc2k2 小时前
Node.js游戏服务器项目移植 3-手撸简单的内存泄露监控
服务器·游戏·node.js
tedcloud1239 小时前
DeepSeek-TUI部署教程:打造CLI AI助手环境
服务器·人工智能·word·excel·dreamweaver
上海云盾-小余9 小时前
BGP 高防 IP 与 CDN 混合部署:攻防场景选型实战指南
网络·网络协议·tcp/ip
无情的西瓜皮10 小时前
MCP协议实战:用Python从零搭建一个AI Agent工具服务器(保姆级教程)
服务器·人工智能·python·mcp
万能的知了10 小时前
服务器托管 vs 云主机 vs 裸金属:一个决策故事
运维·服务器·云计算
Shingmc311 小时前
【Linux】多路转接之select
linux·网络
溜达的大象11 小时前
从到处找资源到统一检索:飞牛NAS部署Pansou实战记录
网络·云计算
茫忙然13 小时前
U 盘搭建免驱 Linux 便携系统教程
linux·服务器
2401_8685347813 小时前
园区网设计
网络