我目前在尝试在 PC 上的 VirtualBox 上运行的 Kali Linux 虚拟机中测试基于 Python 的 ARP 欺骗程序时遇到问题。VM 使用网桥连接到我的网络,使我能够访问网络上的其他设备。但是,当我尝试启动 ARP 欺骗程序并攻击网络中的笔记本电脑时,我遇到了问题。
我遇到的问题是,一旦 ARP 欺骗开始运行,我的笔记本电脑的 ARP 缓存就会使用我的 PC(VirtualBox 正在运行)的 MAC 地址进行更新,但不会使用 Kali Linux VM 的 MAC 地址进行更新,该地址可以在 VM 中使用“ifconfig”找到。它会使用我的 PC 的 MAC 地址进行更新。因此,我的笔记本电脑失去了互联网连接。每当我尝试在浏览器中访问网站时,什么都没有发生。
需要考虑的其他一些事项:我没有为 Kali Linux VM 准备额外的 Wi-Fi 棒。在开始 ARP 欺骗之前启用了 IP 转发,并且在整个过程中保持活动状态。该程序与 NAT 网络网络中用作受害者的所有其他 VM 配合良好。我还禁用了笔记本电脑上的防病毒系统。不只是我的自定义 ARP 欺骗程序不起作用,而且 Kali Linux 工具中的 arpspoof 工具也不起作用。
为什么会发生这种情况?
答案1
Wi-Fi 客户端设备无法从多个 MAC 地址发送帧。连接到 AP 的无线电的 MAC 隐式地就是所发送帧的 MAC。
为了解决这个问题,VirtualBox“桥接”驱动程序必须执行 L2 NAT - 它重写来自虚拟机的帧,使主机系统的 MAC 地址位于报头中,和它会相应地重写 ARP 请求和响应。您的虚拟机认为它已桥接,但 LAN 的其余部分仅看到一个 MAC 地址。
要将 VM 用作网关,您需要为 VM 提供专用的 Wi-Fi 接口或为 VM 主机提供有线以太网连接。