这是我上一个问题的后续:ARP 回复数据包不更新 Ubuntu 上的 ARP 缓存。事实证明,我的问题是我使用了任意 MAC 地址作为源 MAC(即我的网络上不存在的 MAC 地址,比如 aa:bb:cc:dd:ee:ff)。只要我的源 MAC 与我的 NIC 的 MAC 匹配,我就可以毫无问题地发送 ARP 回复来毒化我的缓存。我尝试手动将我的 NIC 设置为具有任意 MAC 地址,然后使用它作为我的 ARP 数据包的源 MAC 地址发送 ARP 回复 - 也有效。
我想知道是否有人知道这个的内部运作。是否有某种检查可以防止发送源 MAC 不匹配的数据包?是否检查了以太网帧的源 MAC 与 ARP 数据包的源 MAC?出于我正在运行的实验的目的,有没有办法绕过这个限制?
JY