天天看點

網卡資訊檢測與網絡流量檢測特别注意:

網卡資訊檢測與網絡流量檢測

    • 網卡資訊檢測相關類
    • 代碼分析
    • 網絡流量檢測相關類
    • 代碼分析
  • *特别注意*:

網卡資訊檢測相關類

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