gpt4 book ai didi

c - 使用任意源 MAC 发送 ARP 回复

转载 作者:行者123 更新时间:2023-11-30 17:58:23 24 4
gpt4 key购买 nike

这是我上一个问题的后续问题:ARP reply packet does not update ARP cache on Ubuntu 。事实证明,我的问题是我使用任意 MAC 地址作为我的源 MAC(即我的网络上不存在的地址,例如 aa:bb:cc:dd:ee:ff)。只要我的源 MAC 与我的 NIC 的 MAC 匹配,我就可以毫无问题地发送 ARP 回复来毒害我的缓存。我尝试手动将我的 NIC 设置为具有任意 MAC 地址,然后使用该地址作为我的 ARP 数据包的源 MAC 发送 ARP 回复 - 也有效。

我想知道是否有人知道其内部运作原理。是否有某种检查可以防止发送源 MAC 不匹配的数据包?是否检查以太网帧的源 MAC 与 ARP 数据包的源 MAC?为了我正在运行的实验的目的,有没有办法绕过这个限制?

JY

最佳答案

Various optimizations are possible to make ARP work more efficiently. To start with, once a machine has run ARP, it caches the result in case it needs to contact the same machine shortly. Next time it will find the mapping it its own cache, thus eliminating the need for a second broadcast. In many cases, host 2(receiver) will need to send back a reply, forcing it, too, to run ARP to determine the sender's Ethernet address. This ARP broadcast can be avoided by having sender include its IP-to-Ethernet mapping in the ARP packet.

引自 Tanenbaum 的计算机网络,第五版 p486-487

看来您的接收方无法解析发送方的 MAC。 Tanenbaum 向您提供了避免这种失败的解决方案。

关于c - 使用任意源 MAC 发送 ARP 回复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12244328/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com