天天看点

网卡信息检测与网络流量检测特别注意:

网卡信息检测与网络流量检测

    • 网卡信息检测相关类
    • 代码分析
    • 网络流量检测相关类
    • 代码分析
  • *特别注意*:

网卡信息检测相关类

1.网络适配器:又称网卡或网络接口卡(NIC),是连接计算机与网络的硬件设备。整理
计算机上发往网线上的数据,并将数据分解为适当大小的数据包之后向网络上发送。
2.System.Net.NetworkInformation命名空间提供了:
对本机网卡相关信息的检测比如本机有多少网卡,网卡名称、速度、硬件地址等。
对本机网络流量的检测比如网络连接配置、接收与发送的数据包等。
(一)NetworkInterface类
NetworkInterface类提供了网络适配器的配置和统计信息。可以利用这个类检测本机有
多少个网络适配器、网络适配器型号以及网络适配器的速度等。
(二)IPInterfaceProperties类
可以利用这个类检测本机所有网络适配器支持的各种地址
           

NetworkInterface类

^提供网络适配器的配置和统计信息。例如本机有多少个网卡、哪些网络连接可用、网卡型
号、MAC地址和速度等。
^本机的每个网络适配器都包含一个NetworkInterface对象与之对应。
^获取实例:利用NetworkInterface类提供的静态方法得到NetworkInterface类型的数组。
   例如:
     NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();
           
网卡信息检测与网络流量检测特别注意:

IPInterfaceProperties类:

^检测本机所有网络适配器支持的各种地址(IPv4和IPv6的网络适配器地址信息),如Dns
服务器的IP地址、网关地址以及多路广播地址。
^IPInterfaceProperties类是抽象类,不能实例化。可以通过NetworkInterface对象的
GetIPProperties()获得其实例
^例如:
NetworkInterface[] adapters = 
           NetworkInterface.GetAllNetworkInterfaces();
IPInterfaceProperties adapterProperties = 
           adapters[0].GetIPProperties();
           
网卡信息检测与网络流量检测特别注意:

代码分析

网卡信息检测与网络流量检测特别注意:
(1)StringBuilder sb = new StringBuilder();
NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();
sb.AppendLine("适配器个数:" + adapters.Length);
int index = 0;
foreach (NetworkInterface adapter in adapters)
{ index++;  //显示网络适配器描述信息、名称、类型、速度、MAC地址
 sb.AppendLine("-------第" + index + "个适配器信息------");
(2)sb.AppendLine("描述信息:" + adapter.Description);
sb.AppendLine("名称:" + adapter.Name);
 sb.AppendLine("类型:" + adapter.NetworkInterfaceType);
sb.AppendLine("速度:" + adapter.Speed / 1000 / 1000 + "M");
byte[] macBytes =  
    adapter.GetPhysicalAddress().GetAddressBytes();
sb.AppendLine("MAC地址:" +
   BitConverter.ToString(macBytes));
(3)//获取IPInterfaceProperties实例
IPInterfaceProperties adapterProperties =  adapter.GetIPProperties();
 //获取并显示DNS服务器IP地址信息
 IPAddressCollection dnsServers = 
                                           adapterProperties.DnsAddresses;
 if (dnsServers.Count > 0)
 {  foreach (IPAddress dns in dnsServers)
     { sb.AppendLine("DNS服务器IP地址:" + dns); }  }
   }
   textBlock1.Text = sb.ToString(); 
           

网络流量检测相关类

IPGlobalProperties类
提供了本地计算机网络连接和通信统计数据的信息。
例如,接收到的数据包个数、丢弃的数据包个数等。

检测网络流量时,首先调用IPGlobalProperties类提供的静态方法GetIPGlobalProperties
得到IPGlobalProperties的实例,然后通过该实例的相关属性即可得到需要的信息。
例如:
IPGlobalProperties properties = IPGlobalPropeties.GetIPGlobalProperties(
 );
           
网卡信息检测与网络流量检测特别注意:

代码分析

网卡信息检测与网络流量检测特别注意:
StringBuilder sb = new StringBuilder();
IPGlobalProperties properties =IPGlobalProperties.GetIPGlobalProperties();
IPGlobalStatistics ipstat = properties.GetIPv4GlobalStatistics();
sb.AppendLine("本机注册域名 : " + properties.DomainName);
sb.AppendLine("接收数据包数 : " + ipstat.ReceivedPackets);
sb.AppendLine("转发数据包数 : " + ipstat.ReceivedPacketsForwarded);
sb.AppendLine("传送数据包数 : " + ipstat.ReceivedPacketsDelivered);
sb.AppendLine("丢弃数据包数 : " + ipstat.ReceivedPacketsDiscarded);
textBlock1.Text = sb.ToString(); 
           

特别注意:

仅供参考学习,转载请附上原文链接

图片来源于网络、个人收藏、个人制作

该篇文章不做任何商业用途,纯属分享学习心得,如有侵权,望联系本人处理

还在读大学的程序员,项目经验少,如有纰漏,感谢指正

需要源代码请私聊联系本人

谢谢配合

如果这篇文章对您有帮助,小小的点个赞,算是给小学弟的鼓励吧!谢谢大佬!!/呱呱.jpg