9
Làm cách nào để lấy địa chỉ MAC của máy tính của tôi trong ứng dụng Mono trên Linux?Nhận địa chỉ MAC trong linux bằng cách sử dụng mono
Làm cách nào để lấy địa chỉ MAC của máy tính của tôi trong ứng dụng Mono trên Linux?Nhận địa chỉ MAC trong linux bằng cách sử dụng mono
vay từ MSDN, thử nghiệm trên VS2008 và 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();
}
}
}
kết quả đầu ra (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
nhờ rc cho bạn sớm nhất trả lời –
sử dụng BitConverter.ToString (address.GetAddressBytes()) để lưu một vài dòng mã. – keza