话不多说,直接上代码:
System.Net.IPAddress[] addressList = Dns.GetHostEntry(Dns.GetHostName()).AddressList;
Console.WriteLine("总数:" + addressList.Length.ToString());
foreach (IPAddress add in addressList)
{
Console.WriteLine(add.ToString());
}
Console.WriteLine("==============分割一下================");
foreach (IPAddress add in addressList)
{
try
{
long a = add.ScopeId;
}
catch
{
Console.WriteLine("筛选后的IPv4地址:" + add.ToString());
}
}
原理:
获取电脑名,获取IP列表。
筛选通过,ScopeId,查看说明可以知道ScopeId属性是对IPv6准备的,所以IPv4当然会报错,这样就成功筛选出了IPv4地址。