我正在使用Python和他的合作伙伴Scapy进行编程。我面临的情况是,我不知道这是ARP协议的正常行为还是其他问题。
我有这种情况:
1 - 虚拟机(1)向另一台具有欺骗性源MAC地址字段(由Scapy生成)的虚拟机(2)发送“ARP请求”。
2 - vm机器(2)接收“ARP请求”,源MAC地址字段为Spoofed,RESPONDS为“ARP Reply”。奇怪的是vm机器(1)接收到它。
注意:我已经与Wireshark确认第一个数据包(ARP请求)进入vm机器(2),源MAC地址字段真的是欺骗性的。并且禁用了网络接口上的promiscous模式,因此,vm机器只接收真正发往其接口的数据包。
所以,我的问题:
a)这是ARP协议的正常行为吗?
b)因为vm machine(1)在你的接口(真实的)上配置了另一个MAC地址,所以从vm机器(2)发送的响应数据包与目的地上的另一个MAC地址的对比情况如何字段(欺骗,因此,甚至不存在于网络上)到达vm机器(1)并由vm机器(1)有效地处理,就像有效的“ARP回复”??
答案 0 :(得分:0)
我在这里看到的奇怪的事情是ARP回复如何反弹回VM(1),尽管它使用了欺骗性的MAC地址..
好吧,尝试检查VM(2)上的ARP表并查看它为VM(1)保留的MAC记录;在您欺骗MAC地址之前,您可能会发现由于某些通信而缓存的合法MAC地址。