C#快速查询所有IP地址
时间: 2024-11-09 07:24:45 浏览: 5
在C#中,如果你想快速查询计算机上所有的IP地址,可以使用`System.Net.NetworkInformation`命名空间下的方法。这里提供一个简化版的例子,它只返回主网卡的IPv4和IPv6地址:
```csharp
using System;
using System.Collections.Generic;
using System.Net;
using System.Net.NetworkInformation;
class Program
{
static void Main(string[] args)
{
// 获取本地主网卡信息
var interfaces = NetworkInterface.GetAdapters();
var mainInterface = interfaces.FirstOrDefault(adapter => adapter.OperationalStatus == OperationalStatus.Up && adapter.IsUp);
if (mainInterface != null)
{
// 获取主网卡的IP配置
var ipConfig = mainInterface.GetIPProperties();
var unicastAddresses = ipConfig.UnicastAddresses;
// 遍历并打印IP地址
foreach (var address in unicastAddresses)
{
if (address.AddressFamily == AddressFamily.InterNetwork)
Console.WriteLine($"IPv4地址:{((IPEndPoint)address).Address}");
else if (address.AddressFamily == AddressFamily.InterNetworkV6)
Console.WriteLine($"IPv6地址:{((IPEndPoint)address).Address}");
}
}
else
{
Console.WriteLine("未找到可用的网络接口");
}
}
}
```
这个程序会立即列出主网卡上的所有可用的IPv4和IPv6地址。
阅读全文