C#获取网卡信息

原创 2015年11月21日 09:34:32

  •             使用NetworkInterface 类 

            NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();

            foreach(NetworkInterface adapter in adapters)
            {
               if (adapter.NetworkInterfaceType == NetworkInterfaceType.Ethernet)
                {
                    //
                }

            }

           属性:

Description 获取接口的描述。
Id 获取网络适配器的标识符。
IsReceiveOnly 获取 Boolean 值,该值指示网络接口是否设置为仅接收数据包。
Name 获取网络适配器的名称。
NetworkInterfaceType 获取接口类型。
OperationalStatus 获取网络连接的当前操作状态。
Speed 获取网络接口的速度。


  •            使用WMI的方法

SELECT * FROM Win32_NetworkAdapter where PhysicalAdapter = TRUE and MACAddress>‘’ //只查询有MAC的物理网卡,不包含虚拟网卡

           // ManagementObjectSearcher s = new ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapterConfiguration where IPenabled=true");

           // ManagementObjectSearcher s = new ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapter");
            foreach (ManagementObject bb in s.Get())

            {
                foreach (PropertyData pd in bb.Properties)
                {
                     //
                };
            }



instance of Win32_NetworkAdapter
{
AdapterType = "Ethernet 802.3";
AdapterTypeId = 0;
Availability = 3;
Caption = "[00000007] Realtek PCIe GBE Family Controller";
ConfigManagerErrorCode = 0;
ConfigManagerUserConfig = FALSE;
CreationClassName = "Win32_NetworkAdapter";
Description = "Realtek PCIe GBE Family Controller";
DeviceID = "7";
GUID = "{318E3441-074A-413F-9A49-1896D9D3C388}";
Index = 7;
Installed = TRUE;
InterfaceIndex = 12;
MACAddress = "30:0E:D5:1B:65:08";
Manufacturer = "Realtek";
MaxNumberControlled = 0;
Name = "Realtek PCIe GBE Family Controller";
NetConnectionID = "本地连接";
NetConnectionStatus = 2;
NetEnabled = TRUE;
PhysicalAdapter = TRUE;
PNPDeviceID = "PCI\\VEN_10EC&DEV_8168&SUBSYS_0DA7105B&REV_07\\4&217507B3&0&00E3";
PowerManagementSupported = FALSE;
ProductName = "Realtek PCIe GBE Family Controller";
ServiceName = "RTL8167";
Speed = "100000000";
SystemCreationClassName = "Win32_ComputerSystem";
SystemName = "C-HASEE-303";
TimeOfLastReset = "20170227151410.549655+480";
};

  可以用 wbemtest.exe 程序查询WMI

C#获取计算机硬件信息(CPU,网卡,硬盘,内存等)

using System; using System.Collections.Generic; using System.Linq; using System.Management; using Sy...
  • xiaoyiyz
  • xiaoyiyz
  • 2016年05月06日 23:12
  • 3404

c# 获取网卡信息

private IList GetIPInfo() { IList rIPList = new List(); NetworkInte...
  • liwb1987
  • liwb1987
  • 2015年04月20日 13:04
  • 308

C# 获取本机网卡信息、个数、描述信息、类型、速度等

代码比较简单,直接上图上码。  实现代码有注释,以下是该例子的完整代码。 引入命名空间:using System.Net.NetworkInformation; using System.Net;完整...
  • Andrew_wx
  • Andrew_wx
  • 2011年07月19日 18:05
  • 11795

C#读取网卡地址的几种方法

转自:http://www.cnblogs.com/diulela/archive/2012/04/07/2436111.html  以下是收集的几种C#程序读取MAC地址的方法,示例中是读取所有网...
  • fengxing11
  • fengxing11
  • 2016年09月14日 00:28
  • 1822

C#获得本机物理网卡的MAC地址(备忘)

因项目需求,需要自动收集网卡的相关信息,在网上找了一大堆,但是完全符合要求的不多,有些看似符合要求,但是运行出来的结果,和真实情况有所偏差,所以根据真实环境,在网上搜来的代码上进行了一些修改,不一定完...
  • yw1688
  • yw1688
  • 2016年09月01日 16:33
  • 1227

C#获得本机物理网卡的MAC地址

今天中午吃饭前看到四月份记录的一个bug,当电脑上插了自己的无线时,软件无法打开的情况,当时也没去解决(客户说拔了无线就好了)。午饭时想了想感觉应该在验证授权时获取MAC地址出错,吃完回来一看代码,果...
  • pfe_Nova
  • pfe_Nova
  • 2014年07月02日 14:54
  • 6654

C#获取本机上所有网络接口及真实IP地址信息

下面显示了如何获取本机上所有网络接口及IP地址的相关信息 它们层次关联为: 一个本机可以有多个网络接口,这些接口包括实际接口与虚拟接口。 每个网络接口可以得到多个IP地址,可能是IPV4也可能是IPV...
  • iloli
  • iloli
  • 2016年04月05日 01:12
  • 3522

C#中判断网络连接的状态

using System; using System.Collections.Generic; using System.Text; using System.Net.NetworkInform...
  • lz37025
  • lz37025
  • 2016年09月02日 20:19
  • 1824

ManagementClass,ManagementObject 的使用

网上代码和MSDN帮助中都没有列出 ManagementObject[" "]这里到底有哪些属性可以使用,参考了http://www.groupsrv.com/dotnet/about69957.ht...
  • hardstone1
  • hardstone1
  • 2010年03月15日 10:31
  • 7859

c#中禁用和开启网卡

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin...
  • lingfengstar1
  • lingfengstar1
  • 2017年06月05日 22:04
  • 554
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#获取网卡信息
举报原因:
原因补充:

(最多只允许输入30个字)