网络安全 - ARP 欺骗原理+实验
CSDN 2024-07-05 17:37:01 阅读 59
APR 欺骗
什么是 APR 为什么要用 APR
A
P
R
\color{cyan}{APR}
APR(Address Resolution Protocol)即地址解析协议,负责将某个 IP 地址解析成对应的 MAC 地址。
在网络通信过程中会使用到这两种地址,逻辑 IP 地址和物理 MAC 地址,一般情况下,正常通信需要这两种地址协同工作。一个主机要和另一个主机进行直接通信,必须要知道目标主机的 MAC 地址。但这个目标 MAC 地址是如何获得的呢?就是需要通过 ARP 协议获得的。
ARP 工作过程
1.主机 A 想要发送数据包到主机 B,主机 A 先要确定要访问的主机 B 是否处以同一个网络 <code>192.168.100.0 中,主机 A 首先在本机的缓存中查询主机 B 的 IP 地址所对应的MAC 地址。
2.如果主机 A 在本地缓存中找到
192.168.100.142
对应的 MAC 地址,则主机 A 用此MAC 地址封装帧,然后发送出去。
3.如果主机 A 在本地缓存中没有找到
192.168.100.142
对应的 MAC 地址,则主机 A发送一个 ARP 的查询包(ARP Request)。ARP查询包中的源地址是主机 A 的 IP 地址192.168.100.50
,目标 IP 地址是主机 B 的 IP 地址192.168.100.142
,源 MAC 地址是主机 A 的 MAC 地址00-0c-29-ff-72-22
,目标 MAC 地址为广播 MAC 地址FF-FF-FF-FF-FF-FF
。主机 A 封装完成后,把 ARP 查询包以广播的形式发送出去。
4.在同一网段中,主机 B 和主机 C 都会收到这个广播包, 然后解封装该数据包,主机 C 检查数据包的目的 IP 地址,发现目的IP地址是
192.168.100.142
,与本机不同,主机 C 放弃继续处理该数据包。主机 B 检查数据包的目的 IP 地址,发现目的地址是192.168.100.142
,与本机相同,主机 B 在本地的缓存中增加或更新192.168.100.50
对应的 MAC 地址条目。
5.主机 B 发现 ARP 查询包是询问本机 IP 地址所对应的 MAC 地址,主机 B 将发回ARP 应答包(ARP Reply)。ARP应答包的源 IP 地址是
192.168.100.142
,目的 IP 地址是192.168.100.50
,源 MAC 地址是00-0c-29-4c-af-b4
,目的 MAC 地址是00-0c-29-ff-72-22
,并以单播的方式发送出去。
6.在交换机相连的网络中,交换机是基于目的 MAC 地址转发的,则主机A将收到此 ARP 应答包,从而获得主机 B 对应的 MAC 地址。
7.主机 A 获得主机 B 的 MAC 地址后,主机 A 就可以向主机 B 发送其他数据了。
ARP 欺骗原理
上面提到了 ARP 缓存表,在每台主机上都有一个 ARP 缓存表,缓存表中记录了局域网主机 IP 地址与 MAC 地址的对应关系,而局域网数据传输依靠的是 MAC 地址。
但是并不是想象中的那么安全,在ARP 缓存表机制存在一个缺陷,就是当请求主机 A 收到 ARP 应答包后,就直接把这个返回包中的 IP 地址与 MAC 地址的对应关系保存到 ARP 缓存表中,如果原有相同 IP 对应关系,原有的则会被替换。
现在主机 A 的 ARP 缓存表中网关IP地址 <code>92.168.100.2 对应的 MAC 地址为
00-50-56-ea-96-d5
,如果主机 C 假扮成网关,首先告诉主机 A 我就是网关,主机 C 向主机 A 发送构造好的 ARP 返回包,源 IP 为网关地址192.168.100.2
,源 MAC 则为主机 C 自己的 MAC 地址00-0c-29-9f-56-f9
,主机 A 把这个错误信息记录在了 ARP 缓存表中。
这样主机 A 发送给网关地址的数据包就会发送到主机 C 上了,从而达到了ARP 欺骗的目的。
ARP 欺骗实验
实验目的
本次实验旨在通过配置和使用 Kali Linux 中的 ARP 欺骗工具,如 arpspoof
,演示 ARP 欺骗攻击的过程,并观察其对被攻击主机的影响。通过本实验,了解 ARP 欺骗的原理、实施方法以及防御措施,以加强网络安全意识和能力。
实验环境
两台主机:
被攻击主机(Windows/Linux)攻击者主机(Kali Linux) Wireshark 安装在其中一台主机上,用于抓包分析。
实验步骤
1. 使用 Wireshark 抓取网络数据包
打开 Wireshark。
选择合适的网络接口,开始捕获数据包。
检查网卡信息
<code>ifconfig
在捕获过滤器中输入 <code>arp or icmp,以捕获ARP和ICMP数据包。并开始捕获数据包。
2. 使用 arpspoof 命令进行 ARP 欺骗攻击
在 Kali Linux 中,使用 arpspoof 工具进行 ARP 欺骗攻击:
安装arpspoof (如果未安装):
<code>apt-get install dsniff -y
查看网络信息:
Kali Linux
ifconfig && route -n
Windows
ipconfig
记录下攻击者主机的 IP 地址、MAC 地址、网关 IP 地址以及被攻击主机的 IP 地址。
启动ARP欺骗:
arpspoof -i <网络接口> -t <被攻击主机IP> -r <网关IP>
上述命令会将网关和被攻击主机的ARP表中的MAC地址替换为攻击者主机的MAC地址。
3、观察通信变化
在 Wireshark 中观察数据包:
看到大量的 ARP 请求和回复包,这些包会显示被欺骗的主机和网关之间的通信变化。
在被攻击主机上检查ARP表:
在 Windows 上:
<code>arp -a
在Linux上:
ip neigh
看到网关的 IP 地址绑定到了攻击者的 MAC 地址。
网络连接情况:
ping baidu.com
4、分析与讨论
ARP欺骗原理:
ARP 欺骗通过发送伪造的 ARP 响应,将攻击者的 MAC 地址与目标 IP 地址绑定,劫持通信。
对网络的影响:
ARP 欺骗会导致网络通信延迟增加,甚至中断,可能被用于中间人攻击(MITM)来窃取或篡改数据。
检测与防护:
使用静态 ARP 表:
在网络设备中配置静态 ARP 条目,防止 ARP 欺骗。
入侵检测系统(IDS):
部署如 Snort 等 IDS 工具,监测和报警 ARP 欺骗活动。
加密通信:
使用 SSL/TLS 等加密协议,保护通信数据,即使在中间人攻击下也无法被轻易窃取。
5、实验反思
实验环境:
本实验应在受控和隔离的网络环境中进行,避免对实际网络和业务造成影响。
网络安全意识:
通过实验,提高了对 ARP 欺骗及其危害的认识,进一步增强了网络安全意识。
持续学习:
ARP 欺骗是众多网络攻击中的一种,持续学习和更新防护知识是保障网络安全的关键。
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。