什么是网络接口类型 53?

What is NetworkInterfaceType 53?

今天早上我在做一个项目,遇到了一个有趣的问题。我注意到有时 NetworkInterface.NetworkInterfaceType 包含一个不在记录的枚举列表中的值,特别是值“53”。这个接口是一个 OpenVPN 连接,我已经能够解决它,但它确实令人困惑。还有其他人遇到过这个问题吗?

private static void GetEndpoints()
{
    List<IPAddress> AddressList = new List<IPAddress>();
    NetworkInterface[] Interfaces = NetworkInterface.GetAllNetworkInterfaces();

    string Msg = String.Empty;
    foreach(NetworkInterface I in Interfaces)
    {
        Msg += String.Format("{0} ({1}) - {2}\r\n", 
            I.Name, 
            I.GetIPProperties()
                .UnicastAddresses
                .Where(x => x.Address.AddressFamily == AddressFamily.InterNetwork)
                .FirstOrDefault()
                ?.Address, 
            I.NetworkInterfaceType);
    }
    MessageBox.Show(Msg);
}

跟踪GetAdaptersInfo的实际调用和结果PIP_ADAPTER_INFO,您可以从this source,查看Ipifcons.h中定义的类型它是一个虚拟的。