private IPAddress GetAddressFromInterfaceType(NetworkInterfaceType interfaceType)
{
foreach (NetworkInterface adapter in NetworkInterface.GetAllNetworkInterfaces())
{
if (adapter.SupportsMulticast && adapter.NetworkInterfaceType == interfaceType &&
adapter.OperationalStatus == OperationalStatus.Up)
{
IPInterfaceProperties ipProperties = adapter.GetIPProperties();
foreach (var ipAddress in ipProperties.UnicastAddresses)
{
if (ipAddress.Address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
return ipAddress.Address;
}
}
}
return null;
}