如何在c#和vb.net中获取客户端机器的MAC地址

Azh*_*har 13 .net c# vb.net asp.net

如何在c#和vb.net中获取客户端机器的MAC地址

Dar*_*rov 12

我不确定客户端机器的含义,因为您只能获取应用程序执行的机器的NIC的MAC地址.

为此,您可以使用ManagementClass:

C#:

using (var mc = new ManagementClass("Win32_NetworkAdapterConfiguration"))
{
    foreach(ManagementObject mo in mc.GetInstances())
    {
        Console.WriteLine(mo["MacAddress"].ToString());
    }
}
Run Code Online (Sandbox Code Playgroud)

VB.NET:

Using mc As New ManagementClass("Win32_NetworkAdapterConfiguration")
    For Each mo As ManagementObject In mc.GetInstances()
        Console.WriteLine(mo("MacAddress").ToString())
    Next
End Using
Run Code Online (Sandbox Code Playgroud)


Azh*_*har 5

想要的答案是

ManagementClass objMC = new ManagementClass("Win32_NetworkAdapterConfiguration");
    ManagementObjectCollection objMOC = objMC.GetInstances();

    foreach (ManagementObject objMO in objMOC)
    {
        if (!(bool)objMO["ipEnabled"])
            continue;

        Console.WriteLine((string)objMO["MACAddress"]);
    }
Run Code Online (Sandbox Code Playgroud)