我正在使用 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 回复”一样有效处理?