我用凯恩来欺骗我的主机和路由器。然后,我使用arp -an在我的主机上显示ARP条目。在一两秒钟内,我可以看到路由器的MAC地址被更改为攻击者的地址,但它立即恢复到路由器的有效MAC地址。Linux和Windows 7都安装在我的主机上,两者都有相同的现象。我使用wireshark来嗅探数据包,没有从路由器发送的数据包。怎么解释这个?
发布于 2014-06-26 16:40:13
每当一个主机想要在一个局域网段上与另一个主机通信时,它必须以某种方式确定它的物理地址(毕竟,这就是MAC地址)。
物理地址解析过程发生在ARP协议中。这个过程包括以太网帧的交换,以便将逻辑地址映射到物理地址(最常见的是,IP地址到MAC地址)。
现在,如果每次2台主机想要在网段上交换数据时都会发生此过程,那么在大量主机不断相互通信的情况下,这将对网络性能-especially产生负面影响。
为了解决这一问题,网络系统将物理地址项本地缓存一段时间。这样,每次系统想要与本地网络上的另一个系统交互时,它都会在存储在其内存中的表中查找物理地址到逻辑地址的映射。这比前面提到的地址解析过程要快得多。
不过,ARP缓存中的条目不是永久性的。它们有一定的生存期,一旦过期,它们将通过新的ARP查找再次刷新。这种方法最小化了通信所需的ARP查找的全局次数,同时使逻辑到物理地址映射保持最新。
为了“保存”ARP中间人的情况,您需要不断地欺骗MAC地址,以便在攻击期间将它们保存在目标系统的ARP缓存中。
ARP缓存条目的生存期与实现有关,并且因操作系统而异。
您提到在Wireshark中没有看到任何“数据包”,因此我假设您正在捕获IP通信量。ARP查找发生在较低的级别(第2层),它使用以太网帧而不是IP数据包进行数据交换。
发布于 2014-02-26 14:54:23
我将以强制性的“我不是网络专家”作为开头,但如果我没记错的话,这种行为与IP地址冲突的解决有关。实质上,路由器正在广播ARP公告,试图确定网络上是否有任何其他主机具有其IP地址。当连接的主机接收到ARP通知时,其ARP缓存将使用路由器的MAC和当前IP进行更新。
https://security.stackexchange.com/questions/52289
复制相似问题