我可以获得连接到我的站点的 MAC 地址吗?
此代码获取 MAC 地址主机并返回错误权限。
String macadress = string.Empty;
foreach (NetworkInterface nic in NetworkInterface.GetAllNetworkInterfaces())
{
OperationalStatus ot = nic.OperationalStatus;
if (nic.OperationalStatus == OperationalStatus.Up)
{
macadress = nic.GetPhysicalAddress().ToString();
break;
}
}
return macadress;
现在如何获取用户的mac地址???
2. 如何获取ip用户???
最佳答案
不幸的是,您无法按照您想要的方式获取用户的 MAC 地址。据我了解,当数据包离开本地网络时,MAC 地址会被从数据包中剥离。
您可以尝试从Request.UserHostAddress
获取用户的地址。但是,如果您位于负载均衡器或内容分发网络后面,那么您可能需要首先尝试查看 Request.Headers["X-Forwarded-For"]
- 这是用户原始 IP 地址所在的位置通常在请求被转发时写入。
我通常采取的方法是尝试以下方法:
var address = Request.Headers["X-Forwarded-For"];
if (String.IsNullOrEmpty(address))
address = Request.UserHostAddress;
我参与的最后一个项目,我们实际上记录了这两个项目,以防转发的 header 被伪造。
关于c# - 如何获取mac地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6873959/