欺骗 MAC 地址通信的行为

Posted

技术标签:

【中文标题】欺骗 MAC 地址通信的行为【英文标题】:Behavior of Spoof MAC Address communication 【发布时间】:2012-05-02 13:48:55 【问题描述】:

我正在使用 Python 和他的合作伙伴 Scapy 进行编程。我面临的情况是,我不知道这是 ARP 协议的正常行为还是其他问题。

我有这种情况:

1- 一台 vm 机器 (1) 向另一台 vm 机器 (2) 发送“ARP 请求”,其中包含 Spoofed Source MAC Address 字段(由 Scapy 生成)。

2 - vm 机器 (2) 收到带有欺骗源 MAC 地址字段的“ARP​​ 请求”,并使用“ARP 回复”来响应。奇怪的是 vm 机器 (1) 收到了。

注意事项: 我已通过 Wireshark 确认第一个数据包(ARP 请求)到达 vm 机器 (2),且源 MAC 地址字段确实被欺骗了。并且网络接口上的混杂模式被禁用,因此 vm 机器只接收真正发往其接口的数据包。

所以,我的问题:

a) 这是 ARP 协议的正常行为吗?

b) 因为 vm 机器 (1) 在您的接口上配置了另一个 MAC 地址(真实的),所以从 vm 机器 (2) 发送的响应数据包如何与目标上的另一个 MAC 地址字段(即被欺骗,因此甚至不存在于网络上)到达 vm 机器 (1) 并由 vm 机器 (1) 有效处理,就像有效的“ARP​​ 回复”一样??

【问题讨论】:

你说的是ARP缓存吗?如果机器收到一个 ARP 响应(不是发给它的),它将把它缓存在本地缓存中。毕竟,如果有人宣布“00-1F-29-52-E7-81 位于 1.1.1.1”,为什么不添加一个 arp 条目映射 1.1.1.1 -> 00-1f-29-52-e7-81。跨度> 您还可以检查是否有任何其他数据包从 vm 机器 2 到 vm 机器 1 正在广播地址上发送? vm 机器 1 可能正在发送 arp 通知(即使在禁用混杂模式的接口上也会收到)。 嗨,David,我将举例说明(数据包 1 - 请求)——谁拥有 IP 192.168.2.2? -- 源 MAC 地址:22:22:22:11:11:11(欺骗)- 目标 MAC 地址:ff:ff:ff:ff:ff:ff(广播)******** (数据包 2 - 回复)- IP 192.168.2.2 位于 44:44:44:44:44:44 -- 源 MAC 地址:44:44:44:44:44:44 -- 目标 MAC 地址: 22:22:22:11:11:11 (Spoofed) **** Question: Packet2 (reply) 如何回到 vm 机器 (1) 如果数据包包含一个虚假的目标 MAC 地址不是真正的 MAC vm机器(1)的网络iface上配置的地址? 您如何确认 Packet2 已返回到原始 VM 机器?您是在进行数据包捕获(数据包捕获设置为混杂模式)还是只是检查 VM2 上的 arp 缓存。在第一台机器上的数据包捕获中,您确定它没有收到任何目标 MAC 设置为广播 MAC 地址的广播 arp。 我正在使用 Wireshark 进行捕获。从两台机器捕获时禁用混杂模式。 VM2 上的 ARP 缓存只有一个条目(Spoofed IP to Spoofed MAC),没有出现来自 VM1 的真实 MAC。在 VM1 上,我看到 ARP 回复数据包返回的捕获:即使目标字段上的假 MAC 与 VM1 的网络 iface 上的真实 MAC 不匹配 【参考方案1】:

我在这里看到的奇怪的事情是 ARP 回复如何反弹回 VM(1),尽管它使用了欺骗性的 MAC 地址..

好吧,尝试检查 VM (2) 上的 ARP 表并查看它为 VM (1) 保存的 MAC 记录;可能您会在欺骗 MAC 地址之前发现由于某些通信而缓存的合法 MAC 地址。

【讨论】:

我做到了。来自 VM (2) 的 ARP 表显示了欺骗 IP 并将其引用到欺骗 MAC。因此,来自 VM (1) 的真实 MAC 甚至不存在于 VM (2) ARP 表中,而是将 ARP 回复发送回 VM (1),记住它到达 VM (1) 时,目标 MAC 地址为欺骗场。 因此,没有来自 VM (1) 的真实 MAC 的引用,但 ARP 回复仍由 VM (2) 发送回 VM (1)。 那么,您使用的虚拟化软件是什么,您实现的虚拟网络类型是什么? 我正在使用 Vmware Workstation。我只在虚拟机之间创建了一个虚拟网络。没有设置绑定到我的物理 iface。我的捕获没有设置混杂模式。为了进行测试,我将 3 个不同的 vm 连接在同一个虚拟网络上(没有混杂模式),并且 vm1 和 vm2 之间的流量发生方式相同,vm3 没有收到流量,正如预期的那样。

以上是关于欺骗 MAC 地址通信的行为的主要内容,如果未能解决你的问题,请参考以下文章

利用ARP欺骗进行MITM(中间人攻击)

图解ARP协议代理ARP原理与实践(“善意的欺骗”)

arp欺骗

ARP欺骗

伪造的ARP应答报文,阻碍对方通信

发arp应答包欺骗别人的例子