今天早上我在一个项目上工作,遇到一个有趣的问题。我注意到有时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中定义的类型,它是一个虚拟的类型。

关于c# - NetworkInterfaceType 53,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58821325/

10-10 03:50