【发布时间】:2009-10-07 02:04:13
【问题描述】:
检测网络接口是否为环回适配器的最佳方法是什么?
windows API 的 GetAdaptersInfo 和 GetAdaptersAddresses 在文档中声明它们将通过 Type (MIB_IF_TYPE_LOOPBACK) 返回接口是否为环回但至少这些都不适用于 Microsoft Loopback Adapter,它被报告为标准以太网接口。
我可以尝试检查环回适配器的默认 MAC,但这很容易被欺骗。
我可以检查描述中的名称“Microsoft Loopback Adapter”,但这可能存在翻译问题并可能导致其他问题。
IP 地址也可以更改。
最可靠的方法是什么?
【问题讨论】:
-
AFAIK,环回适配器不应该报告 MIB_IF_TYPE_LOOPBACK。该适配器的全部目的是让应用程序使用外观和行为类似于任何其他以太网适配器的 IP 适配器在本地测试其套接字 I/O。 MIB_IF_TYPE_LOOPBACK 可能仅由管理实际环回 IP 的接口报告(IPV4 为 127.0.0.1,IPv6 为 0:0:0:0:0:0:0:1)。
标签: windows winapi network-programming