ARP攻击与欺骗的原理与复现
arp概述
1、arp地址解析协议,把一个已有的ip地址解析成对应的mac地址
2、arp工作在三层,有交换机进行转发,路由器是不会转发ARP协议
arp工作原理
1、现局域网有三台主机A、B、C,一台交换机,三台主机都未互相访问过
2、A主机arp缓存表里没有C主机的MAC地址,A会发送arp广播请求,请求C主机mac地址是什么请告诉A主机
3、交换机会接收到A的广播请求,然后查看自己的mac缓存表,发现没有A主机的记录,会把A连接交换机的1号口对应的mac地址记录在自己的mac地址缓存中,并查看目的mac全是ff
4、交换机将此广播请求转发给除1号接口以外的全部接口,B、C都会受到广播请求
5、所有主机收到请求后拆包到网络层查看目的ip是不是自己,不是就丢弃,是自己则会发送arp响应(此响应包含自己的ip mac、对方ip mac)
6、交换机接收的C主机的arp响应,查看源mac在不在自己缓存表中,没有则记录,查看目的mac与自己缓存对照,进行对应的接口单播转发
7、A主机接收到C主机ARP响应回来的数据帧,就把C主机的MAC地址记录在自己缓存表,A主机此时就知道C主机的MAC地址了。
实验环境
目标靶机 win10 ip地址:192.168.72.112 mac地址:00-0c-29-01-17-62
被访问主机 win7 ip地址:192.168.72.12 mac地址:00-0c-29-df-aa-ff
攻击主机kali ip地址:192.168.72.12 mac地址:00:0c:29:50:9b:3f
未被攻击前
win7主机上查看win10mac地址
win10主机上查看win7mac地址
使用kali对win10靶机发起攻击
更新下载源 下载dsniff
apt-get update
apt-install libc6-dev
apt-get install dsniff
arp攻击命令
arpspoof -i kali网卡名 -t 目标主机ip 被访问者ip
arpspoof -i eth0 -t 192.168.72.112 192.168.72.12
攻击完再次查看
对比192.168.72.12的mac地址已被修改成kali的mac地址,ok 使用被攻击机win10 ping一下win7发现ping不通了
对win10访问外网进行攻击
1、首先确认win10可以ping通www.woniuxy.com
2、查看win10的网关地址和对应的mac地址
```Plain Text
arp攻击命令
arpspoof -i kali网卡名 -t 目标主机ip 被访问者ip
arpspoof -i eth0 -t 192.168.72.112 192.168.72.2
```
在攻击过程中我们可以抓包分析一下kali对受害机做了什么
192.168.72.2 is 00:0c:29:01:17:62
(kali一直发广播重复说,网关的地址是我的kali的mac地址)
好。我们在win10上再看一下网关对应的mac地址
通过前后对比,发现地址已被修改,ping www.woniuxy.com 已经不通了
为了不被受害者发现,我们可以修改kali的配置文件
```Plain Text
更改文件
echo 1 > /proc/sys/net/ipv4/ip_forward
cat /proc/sys/net/ipv4/ip_forward
```
修改完毕,win10正常访问www.woniuxy.com
使用路由追踪再次确认,win10主机访问网址时先经过了什么
因为我的kail机和被攻击机win10使用的网关都是192.168.72.2所以第一跳没有多一个,按正常是kali的网关为第一跳,第二跳才为win10的网关。
我们可以通过路由追踪来简单判断自己主机是否被arp攻击。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Sdcb Chats 技术博客:数据库 ID 选型的曲折之路 - 从 Guid 到自增 ID,再到
· 语音处理 开源项目 EchoSharp
· 《HelloGitHub》第 106 期
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 使用 Dify + LLM 构建精确任务处理应用