C# 获取客户端计算机Mac地址

C# 获取客户端计算机Mac地址,c#,asp.net,networking,C#,Asp.net,Networking,我想获取访问我的站点的客户端的mac地址 有人能帮我吗 我正在使用以下代码,但它返回服务器mac地址:- NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces(); String sMacAddress = string.Empty; foreach (NetworkInterface adapter in nics) { if (sMacAddress == String.Empty)// only re

我想获取访问我的站点的客户端的mac地址

有人能帮我吗

我正在使用以下代码,但它返回服务器mac地址:-

NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
String sMacAddress = string.Empty;
foreach (NetworkInterface adapter in nics)
{
     if (sMacAddress == String.Empty)// only return MAC Address from first card  
     {
         IPInterfaceProperties properties = adapter.GetIPProperties();
         sMacAddress = adapter.GetPhysicalAddress().ToString();
     }
}
return sMacAddress;

感谢

无法获取客户端的mac地址,因为它位于以太网物理层,只有连接到相同的
TCP/IP
本地网络的计算机才能确定彼此的mac地址只有当客户端和服务器在同一个局域网内时才有可能,如果它们在同一个**LAN上,那么使用ARP(地址解析协议),我们可以发现mac地址只在本地网络上工作。永远不要离开局域网

如果您需要它,您必须编写一些JavaScript代码来获得它


如果您需要识别访问您的网页的用户,您可以使用会话ID,它是一个cookie。很多网页都使用cookies。

您可以使用cookies获取ip地址,但不能使用mac地址。var remoteIpAddress=Request.UserHostAddress
GetAllNetworkInterfaces
返回有关本地计算机(在本例中可能是您的服务器)中网络接口的信息,而不是您访问的客户端的信息。您要查找同一物理网络中客户端的物理地址,还是远程internet客户端的物理地址?