TEL:400-8793-956
当前位置:程序、服务器

有谁知道使用ASP.Net / C#获取客户端PC的MAC地址的可靠方法

提问者: 近期获赞: 浏览人数: 发布时间:2020-12-14 12:49:26

 问:有谁知道使用ASP.Net / C#获取客户端PC的MAC地址的可靠方法。我正在使用框架3.5。

 
下面是我在本地/ IIS上正常使用的代码。但这在具有完全信任级别的站点上有效。但是不适用于中等信任级别。
 
<system.web>
        <trust level =“ Medium”>
    </ trust> </ system.web> </ p>
<p>公共字符串GetMACAddress()
{
    NetworkInterface [] nics = NetworkInterface.GetAllNetworkInterfaces();
    字符串sMacAddress = string.Empty;
    foreach(NIC中的NetworkInterface适配器)
    {
        如果(sMacAddress == String.Empty)//仅从第一张卡返回MAC地址<br>
        {
            IPInterfaceProperties属性= adapter.GetIPProperties();
            sMacAddress = adapter.GetPhysicalAddress()。ToString();
        }
    } return sMacAddress;
}
有人可以为我提供一种获取客户端Mac地址的替代方法吗
 
答:私有静态字符串getMacAddress(string distIP)
    {
 
        IP地址dIP = IPAddress.Parse(distIP); //目标IP地址
 
        byte [] macAddr =新的byte [6];
        uint macAddrLen =(uint)macAddr.Length;
 
        如果(SendARP(BitConverter.ToInt32(dIP.GetAddressBytes(),0),0,macAddr,ref macAddrLen)!= 0)
            抛出新的InvalidOperationException(“ SendARP失败。”);
 
        string [] str =新字符串[(int)macAddrLen];
        对于(int i = 0; i <macAddrLen; i ++)
            str [i] = macAddr [i] .ToString(“ x2”);
 
        返回string.Join(“-”,str);
    }
上一篇: 如何使用JQuery获取HTML列表的选择列表值
下一篇: 有谁知道使用ASP.Net / C#获取客户端PC的MAC地址的可靠方法