3

我正在使用 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)发送的响应数据包如何在Destination字段上带有另一个MAC地址(即被欺骗,所以,甚至没有存在于网络上)到达 vm 机器 (1) 并由 vm 机器 (1) 像有效的“ARP​​ 回复”一样有效处理?

4

1 回答 1

0

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

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

于 2012-04-21T01:21:20.930 回答