Estoy creando una aplicación para uso personal y necesito enumerar las direcciones IP y los tipos de todas las interfaces de red.
Yo uso el siguiente código:
foreach (var networkInterface in NetworkInterface.GetAllNetworkInterfaces()) { foreach (var addressInfo in networkInterface.GetIPProperties().UnicastAddresses) { // Add the following string to a list and then display this list var info = $"{addressInfo.Address}: {networkInterface.NetworkInterfaceType} ({Enum.GetName(typeof(NetworkInterfaceType), networkInterface.NetworkInterfaceType)})"; } } El código anterior funciona bien en Windows, pero cuando lo construyo y ejecuto en Android networkInterface.NetworkInterfaceType siempre devuelve 0 y Enum.GetName(typeof(NetworkInterfaceType), networkInterface.NetworkInterfaceType) devuelve una cadena vacía.
Este comportamiento se puede reproducir en aplicaciones creadas con Unity y Xamarin (aunque la aplicación tenga todos los permisos necesarios otorgados).