如果两台机器都响应 ARP“谁是”请求,会发生什么情况?

如果两台机器都响应 ARP“谁是”请求,会发生什么情况?

我最近才开始了解网络的细节,但是如果恶意用户在不应该响应 ARP“谁是”时做出响应,会发生什么?

答案1

这取决于侦听器,但通常最新的响应会获胜(通常在交换机级别,而不仅仅是计算机级别)。因此,该 IP 地址的数据包会以非常随机的方式路由到其中一个目标服务器。

这通常会导致糟糕的结果,但这只是因为 TCP 连接等状态不可传输。如果两台机器都实现了相同的 UDP 服务,您可能甚至不会注意到。

答案2

我遇到的 arp 问题通常是我们服务器服务的一些客户在 DHCP 范围内设置服务器上的静态 IP 地址。最终结果是,服务会针对每个新请求间歇性地在冲突目标之间切换(每个服务器大约有 50% 的连接建立,而“错误”的连接会发出 404 错误)。

我猜测这是因为正在进行的 TCP 连接在 ESTABLISHED 连接期间不依赖于 arp,仅在启动时才依赖于 arp。(但我不是网络专家,所以不要引用我的话 ;-)

然而,我对 ARP 欺骗攻击技术的经验有所不同,因为攻击者确实希望自己看起来是正确的主机,即使在冲突状态下。

因此,为了实现恶意主机发送连续的 arp 数据包风暴,这是为了确保在任何给定时间,目标设备都从攻击者而不是真正的主机收到更新的 arp 响应。

当这种情况发生时,大多数 arp 数据包来自攻击者,因此来自客户端的大多数 TCP 连接都连接到恶意主机。(大约 95% 连接到攻击者,5% 连接到真正的主机)

这显然很容易被IDS检测到,因为所有的arp流量都不符合正常的参数和级别。

在出现错误的双 IP 问题的情况下,网关会看到这样的数据包;

host1(arp) -> ip 设置为 host1
host2(arp) -> ip 设置为 host2
host1(
arp) -> ip 设置为 host1 host2(arp) -> ip 设置为 host2
host1(arp) -> ip 设置为 host1

然而恶意攻击则更是如此;

host1(arp) -> 将 ip 设置为 host1
攻击者(arp) -> 将 ip 设置为攻击者 <-- 攻击者在此是中间人 攻击者
(arp) -> 将 ip 设置为攻击者 <-- 攻击者在此是中间人
攻击者(arp) -> 将 ip 设置为攻击者 <-- 攻击者在此是中间人 攻击者
(arp) -> 将 ip 设置为攻击者 <--
攻击者在此是中间人 攻击者(arp) -> 将 ip 设置为
攻击者 <-- 攻击者在此是中间人 攻击者
(arp) -> 将 ip 设置为攻击者 <-- 攻击者在此是中间人
攻击者(arp) -> 将 ip 设置为攻击者 <-- 攻击者在此是中间人
攻击者(arp) -> 将 ip 设置为攻击者 <-- 攻击者在此是中间人
攻击者(arp) -> 将 ip 设置为攻击者 <-- 此处攻击者是中间人
host1(arp) -> 将 ip 设置为 host1 ** <-- ** 但不在这里
攻击者(arp)-> ip 设置为攻击者<-- 攻击者在这里是中间人
攻击者(arp)-> ip 设置为攻击者<-- 攻击者在这里是中间人
攻击者(arp)-> ip 设置为攻击者<-- 攻击者在这里是中间人
攻击者(arp)-> ip 设置为攻击者<-- 攻击者在这里是中间人
攻击者(arp)-> ip 设置为攻击者<-- 攻击者在这里是中间人
...

相关内容