反arp攻击安卓 安卓arp防火墙

一、实验目的掌握ARP欺骗攻击掌握ARP欺骗攻击全过程学会防范ARP欺骗二、实验环境系统环境:Windows环境 , kail环境 , XP环境软件工具:packEth三、实验原理ARP缓存1.在每台安装有TCP/IP协议的电脑里都有一个ARP缓存表 , 表里的IP地址与MAC地址是一一对应的 , 如下图所示是window7主机的ARP缓存表:
在上图所示的ARP缓存表中 , IP地址192.168.70.129映射的MAC地址为00-50-56-2b-68-41,下面我们以主机X(192.168.70.129)向主机Y(192.168.70.134)发送数据为例 , 说明ARP工作过程 。
当主机X发送数据时 , 它会在自己的ARP缓存表中寻找是否有主机Y的IP地址 。如果找到了 , 也就知道了主机Y的MAC地址 , 直接把目标MAC地址写入数据包里面发送就可以了;如果在ARP缓存表中没有找到主机Y的IP地址 , 主机X就会在网络上发送一个广播 , 目标MAC地址是“FF-FF-FF-FF-FF-FF”,这个表示向同一网段内的所有主机发出这样的询问:192.168.70.129的MAC地址是什么?网络上其他主机并不响应ARP询问 , 只有主机Y接收到这个数据包时 , 才会向主机X做出这样的回应:192.168.70.129的MAC地址是00-50-56-2b-68-41 。这样 , 主机X就知道了主机Y的MAC地址 , 他就可以向主机Y发送信息了 , 同时它还更新了自己的ARP缓存表 , 下次再向主机Y发送信息时 , 直接从ARP缓存表里查找就可以了 。ARP缓存表采用了老化机制 , 在一段时间内如果表中的某一行没有使用就会被删除 , 这样可以大大减少ARP缓存表的长度 , 加快查询速度 。
2.ARP欺骗定义
从前面的介绍可以看出 , ARP的致命缺陷是:它不具备任何的认证机制 , 当有个人请求某个IP地址的MAC时 , 任何人都可以用MAC地址进行回复 , 并且这种响应也会被认为是合法的 。ARP并不只在发送了ARP请求后才接收ARP应答 。当主机接收到ARP应答数据包的时候 , 就会对本机的ARP缓存进行更新 , 将应答中的IP和MAC地址存储在ARP缓存表中 。此外 , 由于局域网中数据包不是根据IP地址 , 而是按照MAC地址进行传输的 。所有对主机实施ARP欺骗就成为可能 。
3.ARP常用命令:
arp -a
用于查看缓存表中的所有项目
arp -a ip
只显示包含指定IP的缓存表项目
arp -s ip mac
向ARP缓存表中添加静态目录 , 该项目在计算机启动过程中一直有效
arp -d ip
删除ARP缓存表中静态项目
四、实验步骤下面PC2要对PC1进行ARP欺骗攻击 , 目标是更改PC1缓存表中网关的MAC地址更新为aa:aa:aa:aa:aa:aa实施欺骗,导致PC1无法正常上网
**更新前:**PC1的缓存表如下图所示网关IP:192.168.70.2对应的MAC地址是:00-50-56-e5-d2-ff
此时PC1是可以正常上网的如下图所示:
打开Windows7将packEth压缩包解压成文件夹后 , 找到packEth.exe文件双击打开
打开packEth.exe文件 , 选择第二个网卡 , 选择ARP packet模式
发送方IP和MAC填写网关的真实IP地址和此处修改MAC地址为aa:aa:aa:aa:aa:aa以达到欺骗效果 , 选择Arp packet功能以及ARP reply 应答包 , MAC Header处填写目标真实MAC地址(此处为PC1的MAC地址) , 源MAC地址填写修改的MAC地址(此处为aa:aa:aa:aa:aa:aa)设置好后点击Send开始发包
**更新后:**此时我们返回到PC1里使用命令arp -a 查看网关的MAC地址成功被我们修改成了aa:aa:aa:aa:aa:aa
此时我们再次验证PC1是否能正常上网 , 发现已经无法正常上网了 , 如下图所示:
PC2向PC1发送一个自己伪造的ARP应答包 , 而这个应答数据中发送方IP地址是网关的192.168.70.2映射的MAC更新为aa:aa:aa:aa:aa:aa(网关的MAC地址本来应该是00-50-56-e5-d2-ff , 此时已经被我们伪造了) 。当PC1收到PC2伪造的ARP应答 , 就会更新本地的ARP缓存表(PC1不知道MAC已经被伪造了) , 而且PC1不知道这个ARP应答包是从PC2发送过来的 。这样PC1发送给网关的数据包都变成了发给PC2了 。PC1对所发生的变化一点儿都没有意识到 , 但是接下来的事情就让PC1产生了怀疑 , 因为它无法正常上网了 , 这是因为PC2只是接收PC1发给网关的数据 , 并没有转发给网关 。
2.PC2做“maninthemiddle”(中间人) , 进行ARP重定向 。打开自己的IP转发功能 , 将PC1发送过来的数据包转发给网关 , 就好比一个路由器一样 , 而网关接收到数据包完全认为是PC1发送过来的 。不过 , 网关发送的数据包又直接传递给PC1 , 倘若再次进行对网关的ARP欺骗 , 那么PC2就完全成为PC1和网关的中间桥梁 , 对于PC1与网关的通讯就可以了如指掌了(如果你被人ARP监控了 , 想想是不是很可怕)
启动kali虚拟机 , 打开终端 , 输入命令:ettercap -G 如图所示:
在进行中间人攻击之前首先需要扫描当前局域网中存在的活动主机 , 确认攻击目标机器 , 点击Unified sniffing开启嗅探 , 如下图所示:
选择当前网卡eth0 , 点击OK进入嗅探 , 如下图所示:
点击菜单中的Hosts , 选中Scan for hosts 扫描和本机(kali)同网关所有的主机 , 如下图所示:
点击菜单Hosts,选中Host list 列出同网关所有互动的主机 , 扫描结果如下图所示:192.168.70.133为Windows7主机的IP地址 , 192.169.70.2为网关IP地址
接下来选择攻击目标 , 右键Windows目标IP点击Add to Target 1 , 选择第二个攻击目标IP(网关) , 右键网关目标IP点击Add to Target 2 , 如下图所示:

然后确定攻击方式 , 此处点击菜单Mitm , 选中ARP posoning采用ARP欺骗的攻击方式 , 如下图所示:
勾选Sniff remote connections , 点击确认按钮 , 如下图所示:
点击菜单start,选中Start sniffing,开始监听
在Windows7虚拟机中 , 打开cmd命令控制窗口 , 输入arp -a查看arp缓存表 , 结果发现网关(192.168.70.2)的MAC地址变成了和kali主机的MAC地址相同 , 如下图所示:
到此为止我们开始验证ARP中间人欺骗是否成功了返回到Windows7虚拟机 , 打开浏览器访问一个登录界面 , 输入登录用户名和密码 , 点击确认登陆 , 如下图所示:
返回到kali主机我们已成功获取到Windows7主机访问某网站已经登录的用户名和密码 , 如下图所示:
五、ARP攻击防范:1.双向绑定:一般来说 , 在小规模网络中 , 比较推荐使用双向绑定 , 也就是在路由器和终端上都进行IP-MAC绑定的措施 , 它可以对ARP欺骗的两边 , 伪造网关 和截获数据 , 都具有约束的作用 。这是从ARP欺骗原理上进行的防范措施 , 也是最普遍应用的办法 。它对付最普通的ARP欺骗是有效的 。
2.ARP防火墙:在一些杀毒软件中加入了ARP防火墙的功能 , 它是通过在终端电脑上对网关进行绑定 , 保证不受网络中假网关的影响 , 从而保护自身数据不被窃取的措施 。ARP防火墙使用范围很广 , 但也会有问题 , 如 , 它不能保证绑定的网关一定是正确的 。如果一个网络中已经发生了ARP欺骗 , 有人在伪造网关 , 那么 , ARP防火墙上来就会绑定这个错误的网关 , 这是具有极大风险的 。
【反arp攻击安卓 安卓arp防火墙】3.VLAN和交换机端口绑定:通过划分VLAN和交换机端口绑定来防范ARP , 也是常用的防范方法 。做法是细致地划分VLAN , 减小广播域的范围 , 使ARP在小范围内起作 用 , 而不至于发生大面积影响 。同时 , 一些网管交换机具有MAC地址学习的功能 , 学习完成后 , 再关闭这个功能 , 就可以把对应的MAC和端口进行绑定 , 避免了病毒利用ARP攻击篡改自身地址 。也就是说 , 把ARP攻击中被截获数据的风险解除了 。

    推荐阅读