我试图在linux上用c++制作一个简单的arp欺骗器(主要是为了更好地理解底层网络)。到目前为止,我已经成功地创建了一个arp请求,并获得了带有目标和网关的mac地址的arp回复,但是每当我向目标/网关发送arp回复时,我的测试计算机上的arp表没有更新,它仍然显示正确的网关mac地址。这不是一个网络问题,因为kali linux arpspoof命令工作正常,并且arp缓存正在更新。packet
arp
在Arch Linux ARM (Raspberry Pi)内核4.4.37上,我创建了一个macvlan。然后,我可以从我的Windows客户端平IP,但是当我在Windows中检查ARP缓存(arp -a)时,它们显示的是与主(物理)网络适配器相同的MAC地址,而不是新创建的macvlan MAC地址。我确保清除ARP缓存,尝试一个客户以前从未见过的IP地址,等等,但它总是显示错误的MAC。当我为macvlan MAC地址为windows客户端创建一个静态ARP条目