arp攻击(ettercap 版本0.8.3.1)
实验原理
ARP 协议设计时缺乏身份验证机制,任何设备都可以发送 ARP 报文,且接收方会无条件信任并更新本地 ARP 缓存。这一缺陷被攻击者利用,通过伪造 ARP 报文篡改目标的缓存表,具体分为两种核心欺骗方式:
1. 欺骗目标设备(让目标 “认错网关”)
攻击者向目标设备(如主机)发送伪造的 ARP 应答报文,声称 “网关 IP(如192.168.1.1
)对应的 MAC 地址是攻击者的 MAC”。
目标设备收到后,会将 ARP 缓存中 “网关 IP→网关 MAC” 的正确映射,替换为 “网关 IP→攻击者 MAC”。
后续目标设备访问外网时,所有流量会被发送到攻击者的设备(而非真正的网关),导致目标断网或流量被劫持。
2. 欺骗网关(让网关 “认错目标”)
攻击者向网关发送伪造的 ARP 应答报文,声称 “目标主机 IP(如192.168.1.10
)对应的 MAC 地址是攻击者的 MAC”。
网关收到后,会将缓存中 “目标 IP→目标 MAC” 的映射替换为 “目标 IP→攻击者 MAC”。
后续网关转发给目标主机的流量,会被发送到攻击者的设备,实现对目标接收流量的劫持。
3. 双向欺骗(中间人攻击)
若攻击者同时欺骗目标设备和网关:
让目标设备认为攻击者是网关,让网关认为攻击者是目标设备。
此时,目标与网关之间的所有流量都会先经过攻击者的设备,攻击者可实现流量监听、篡改甚至窃取数据(如账号密码、聊天内容等),即 “中间人攻击(Man-in-the-Middle, MITM)”。
实验所需的工具
一个小型的局域网
一个靶机(window xp的漏洞机),一个攻击机(kail Linux系统的武器库),一个二层交换机,一个公网
实验步骤
记录网络设备的ip地址
靶机:192.168.158.138 24 攻击机:192.168.158.137 24 网关:192.168.158.2 也可以是192.168.158.1(物理机上物理适配器上的网关地址)
在开始之前将靶机的防火墙关闭,不然攻击机无法连接靶机
此下为靶机的window xp系统上操作,打开控制台
输入命令
netsh firewall set opmode disable
靶机开放端口23
cmd中输入命令
service.msc
找到telnet服务,右键打开属性,启动类型改为自动,然后应用
最后将telnet服务打开,这时23端口就恢复监听功能了
使用网络工具伪造数据包
输入命令
ettercap -G
打开工具
在sniff选项将接口改为eth0
分别打开对钩和放大镜图标,就可以扫到主机了
点击图书架图标,查看扫到的ip地址,将靶机和网关ip加入ip地址
工具中点击
图标,点击arp攻击选项,正式开始攻击
最后可以再用arp -a 命令查看Mac地址是否被改变
同时ettercap工具中也抓到了靶机的数据包