Windows 2008 R2 服务器发送子网外 IP 的 Arp 请求

Windows 2008 R2 服务器发送子网外 IP 的 Arp 请求

通过在我的路由器上运行数据包捕获,我发现我的某些服务器正在向其网络之外的 IP 发送 ARP 请求。

例如如果我的网络是:

Network: 8.8.8.0/24  
Gateway: 8.8.8.1 (MAC: 00:21:9b:aa:aa:aa)  
Example Server: 8.8.8.20 (MAC:  00:21:9b:bb:bb:bb)

通过在具有 8.8.8.1 的接口上运行捕获,我看到如下请求:

Sender Mac: 00:21:9b:bb:bb:bb 
Sender IP: 8.8.8.20
Target MAC: 00:21:9b:aa:aa:aa
Target IP: 69.63.181.58

以前有人见过这种行为吗?我对 ARP 的理解是,请求应该只针对子网内的 IP 发出...我对 ARP 的理解是否令人困惑?如果我没有感到困惑,有人见过这种行为吗?

此外,这些情况似乎是突发的,而当我执行诸如 ping 网络外的 IP 之类的操作时,这种情况不会发生。

更新:
回答 Ian 的问题。我没有运行任何类似 Hyper-V 的东西。我有多个接口,但只有一个是活动的(使用 BACS 故障转移组合)。子网掩码是 255.255.255.0(即使它是其他的,也无法解释像 69.63.181.58 这样的 IP)。

当我运行 MS Network Monitor 或 wireshark 时,我看不到这些 ARP 请求。发生的情况是,在路由器捕获中,我看到主机发出了大约 10 个来自网络外 IP 的突发请求。在机器本身上使用 wireshark 或 NetMon,我看到大量ARP 响应针对网络上的所有机器。但是,我在捕获中没有看到任何要求这些响应的请求。

因此,看起来它可能是刷新了 arp 缓存,但包括了网络外的 IP。此外,当它这样做时,NetMon 不会显示 ARP 请求吗?

答案1

如果您在 Wireshark/Netmon 中看不到 ARP 请求,那么 ARP 帧的另外两个来源可能是 Broadcom 的组合驱动程序 (BASP) 和 OEM 网络可管理性(例如 Dell 的 DRAC 和 HP 的 iLo)。

Broadcom 组合驱动程序包含一项名为“LiveLink”的功能,该功能使用 ARP 帧来验证与远程系统的网络连接(请参阅http://support.dell.com/support/edocs/network/p29352/english/teaming.htm)。如果用户为本地子网之外的 IP 地址设置 LiveLink 探测,则 BASP 将很乐意为该地址生成 ARP。当然,如果地址是假的,则团队应该指示团队中使用的一个或多个 NIC 出现故障。

企业服务器通常具有专用的以太网端口,以便于管理。低成本服务器可以搭载 LOM 端口并通过与 Windows 相同的 RJ-45 连接器发送流量。如果启用了服务器的管理功能但配置不正确,则可能会在主机使用的 IP 子网之外生成 ARP。这些 ARP 帧对于 Wireshark/Netmon 也是不可见的。大多数管理解决方案在系统关闭时也能工作,因此如果您在系统关闭时继续看到系统生成的 ARP,则管理功能可能是源头。

答案2

您对 ARP 的理解是正确的。主机不应该对不在其本地子网中的 IP 地址进行 ARP,因为它应该知道该 IP 地址不是本地的,因此应该知道数据需要发送到默认网关。我唯一一次看到这种情况是在主机感染了恶意软件的情况下。

答案3

显而易见的问题是:您的网络配置是什么?您有多个接口吗?您的服务器上有 hyper-v 或 vmware 吗?

无论如何,您对 arp 的理解确实是正确的。网络配置错误似乎是最有可能的解释。

尝试在您的服务器上安装 MSNetmon 并捕获 arp 流量。它应该会告诉您它的来源。很有可能它是系统而不是某些恶意软件进程。如果它是上述恶意软件,那么它应该可以快速识别它。

相关内容