9
¿Cómo obtengo la dirección MAC de mi computadora en una aplicación Mono en Linux?Obtener dirección MAC en Linux usando mono
¿Cómo obtengo la dirección MAC de mi computadora en una aplicación Mono en Linux?Obtener dirección MAC en Linux usando mono
tomado de MSDN, probado en VS2008 y mono 2.4.2.3 (Debian 2.4.2.3 + dfsg-2):
using System;
using System.Net.NetworkInformation;
namespace ConsoleApplication2
{
class Program
{
public static void ShowNetworkInterfaces()
{
IPGlobalProperties computerProperties = IPGlobalProperties.GetIPGlobalProperties();
NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
Console.WriteLine("Interface information for {0}.{1} ",
computerProperties.HostName, computerProperties.DomainName);
if (nics == null || nics.Length < 1)
{
Console.WriteLine(" No network interfaces found.");
return;
}
Console.WriteLine(" Number of interfaces .................... : {0}", nics.Length);
foreach (NetworkInterface adapter in nics)
{
Console.WriteLine();
Console.WriteLine(adapter.Description);
Console.WriteLine(String.Empty.PadLeft(adapter.Description.Length, '='));
Console.WriteLine(" Interface type .......................... : {0}", adapter.Netwo$
Console.Write(" Physical address ........................ : ");
PhysicalAddress address = adapter.GetPhysicalAddress();
byte[] bytes = address.GetAddressBytes();
for (int i = 0; i < bytes.Length; i++)
{
// Display the physical address in hexadecimal.
Console.Write("{0}", bytes[i].ToString("X2"));
// Insert a hyphen after each byte, unless we are at the end of the
// address.
if (i != bytes.Length - 1)
{
Console.Write("-");
}
}
Console.WriteLine();
}
}
static void Main(string[] args)
{
ShowNetworkInterfaces();
}
}
}
salidas (Linux):
Interface information for hera.(none)
Number of interfaces .................... : 2
lo
==
Interface type .......................... : Loopback
Physical address ........................ :
eth0
====
Interface type .......................... : Ethernet
Physical address ........................ : 00-26-xx-xx-xx-xx
gracias rc para su primer la respuesta –
usa BitConverter.ToString (address.GetAddressBytes()) para guardar algunas líneas de código. – keza