【问题标题】:Behavior of Spoof MAC Address communication欺骗 MAC 地址通信的行为
【发布时间】: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 不匹配

标签: python networking arp scapy spoof


【解决方案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 没有收到流量,正如预期的那样。
猜你喜欢
  • 2017-11-21
  • 1970-01-01
  • 2019-02-24
  • 2012-11-07
  • 1970-01-01
  • 2013-04-22
  • 2012-03-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多