在 C# 中,您可以使用 System.Net.NetworkInformation 命名空間來讀取本地網絡配置信息。這可以包括獲取網絡適配器的狀態、IP 地址、子網掩碼、網關等信息。以下是如何實現這一功能的詳細步驟和示例代碼。
1. 引入命名空間
確保您在代碼文件中包含以下命名空間:
using System;using System.Net.NetworkInformation;using System.Net;
2. 讀取網絡配置信息
以下示例代碼展示了如何讀取并顯示本地網絡配置信息:
class Program{
static void Main(string[] args)
{
// 獲取本地網絡適配器的信息
NetworkInterface[] networkInterfaces = NetworkInterface.GetAllNetworkInterfaces();
foreach (NetworkInterface networkInterface in networkInterfaces)
{
Console.WriteLine($"網絡適配器名稱: {networkInterface.Name}");
Console.WriteLine($"描述: {networkInterface.Description}");
Console.WriteLine($"類型: {networkInterface.NetworkInterfaceType}");
Console.WriteLine($"狀態: {networkInterface.OperationalStatus}");
Console.WriteLine($"MAC 地址: {networkInterface.GetPhysicalAddress()}");
// 獲取 IP 地址信息
IPInterfaceProperties ipProperties = networkInterface.GetIPProperties();
// 獲取 IPv4 地址
foreach (var unicast in ipProperties.UnicastAddresses)
{
if (unicast.Address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
{
Console.WriteLine($"IPv4 地址: {unicast.Address}");
Console.WriteLine($"子網掩碼: {unicast.IPv4Mask}");
}
}
// 獲取網關
foreach (var gateway in ipProperties.GatewayAddresses)
{
if (gateway.Address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
{
Console.WriteLine($"默認網關: {gateway.Address}");
}
}
Console.WriteLine("------------------------------------");
}
Console.WriteLine("按任意鍵退出...");
Console.ReadKey();
}}
代碼解析
獲取網絡適配器信息:
使用 NetworkInterface.GetAllNetworkInterfaces() 獲取系統中的所有網絡適配器。
遍歷每個適配器:
輸出適配器的名稱、描述、類型和狀態。
獲取 IP 配置:
使用 GetIPProperties() 方法獲取適配器的 IP 地址屬性。
輸出 IPv4 地址和子網掩碼:
遍歷 UnicastAddresses 列表,并檢查地址類型是否為 IPv4。
獲取并輸出默認網關:
遍歷 GatewayAddresses 列表,獲取默認網關的信息。
3. 運行程序
將上述代碼復制到新的 C# 控制臺應用程序中并運行。當程序執行時,它將列出本地計算機中所有網絡適配器的配置信息。
注意事項
確保您有足夠的權限來訪問網絡配置信息,某些網絡設置可能需要管理員權限。
如果在沒有網絡連接的情況下運行程序,可能會看到部分或沒有信息。
總結
使用 System.Net.NetworkInformation 命名空間,您可以輕松讀取并顯示計算機的網絡配置信息。這對網絡監控、調試和其他應用場景非常有用。通過進一步擴展代碼,您可以將更多的相關信息提取并利用。
該文章在 2024/12/4 15:17:24 編輯過