首页 > 解决方案 > 什么是 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);
}

标签: c#.netnetwork-interface

解决方案


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


推荐阅读