c# 获取当前程序的网络信息
时间: 2024-02-20 15:56:55 浏览: 164
在C#中,可以使用System.Net.NetworkInformation.NetworkInterface类获取当前程序的网络信息,例如IP地址、MAC地址等。以下是示例代码:
```csharp
using System.Net.NetworkInformation;
// 获取所有网络接口
NetworkInterface[] interfaces = NetworkInterface.GetAllNetworkInterfaces();
foreach (NetworkInterface ni in interfaces)
{
// 判断是否为以太网接口
if (ni.NetworkInterfaceType == NetworkInterfaceType.Ethernet)
{
Console.WriteLine("接口名称: {0}", ni.Name);
Console.WriteLine("接口描述: {0}", ni.Description);
Console.WriteLine("MAC地址: {0}", ni.GetPhysicalAddress());
// 获取IPv4地址
foreach (UnicastIPAddressInformation ip in ni.GetIPProperties().UnicastAddresses)
{
if (ip.Address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
{
Console.WriteLine("IPv4地址: {0}", ip.Address);
}
}
}
}
```
在上面的代码中,首先使用NetworkInterface.GetAllNetworkInterfaces()方法获取所有网络接口。然后遍历所有的网络接口,判断是否为以太网接口,如果是,则输出接口名称、描述、MAC地址和IPv4地址等信息。
注意:在使用NetworkInterface类获取网络信息时,需要有足够的权限,否则可能会抛出SecurityException异常。
阅读全文