c# - 如何获取mac地址

标签 c# asp.net network-programming ip mac-address

我可以获得连接到我的站点的 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/

相关文章:

c# - 访问路径 'C:\\Program Files (x86)\\IIS Express\\Excel.xlsx'被拒绝

c# - Callback 与新的 AsyncCallback(Callback) 有什么不同?

c# - 如果聚合根是 'IN' 聚合,它如何确保聚合的完整性?

c# - 用于只读字典访问的最有效的内存数据结构

c# - "Value Does not fall in the expected range"ClickOnce部署

相当于 VBS redim 保留的 Javascript

c# - ASP.NET MVC3 IAuthorisationfilter Ninject 依赖

c++ - 设计最快的页面下载

sockets - 是原始套接字数据报套接字吗?

c# - 在 asp.net 应用程序中使用 ffmpeg 查找水印路径时出错