如何识别如果网络接口是LAN或Wifi或外部(How to identify if the Netw

2019-06-26 16:03发布

我想以太网可用来区分我的系统上。 不管是由VMware创建一个局域网,Wifi或东西。 I am only intrested for LAN

但是,当我用下面的代码列举:

     NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();
     foreach (NetworkInterface networkInterface in adapters)
     {

         Console.WriteLine("   {0}  ::: Interface Type {1} ::::ID {2}  \n", networkInterface.Name, networkInterface.NetworkInterfaceType, networkInterface.Id);
     }

现在我该怎样区分作为NetworkInterface.DescriptionNetworkInterface.NetworkInterfaceType是没有用的。

任何其他方式在吗?

Answer 1:

看看使用WMI检索系统上的网络适配器的详细信息。 它会告诉你一个给定的适配器是否是有线网卡或无线的,如果它确实是一个“物理”网络适配器。

http://geekswithblogs.net/PsychoCoder/archive/2008/01/25/using_wmi_in_csharp.aspx

http://msdn.microsoft.com/en-us/library/windows/desktop/aa394216(v=vs.85).aspx



Answer 2:

要了解如果适配器可以使用MSNdis_PhysicalMediumType类在root \ WMI命名空间的WiFi适配器。

不幸的是,VMware的适配器出现到Windows,如果他们是“真正的”物理适配器,并有一个MAC地址和IP地址等,所以很难区分那些。

如果您运行ncpa.cpl他们都出现在相同的物理适配器您会在Windows通知。



文章来源: How to identify if the Network Interface is LAN or Wifi or External