如何使用登录用户的 ASP.NET C# 获取 Mac 和 IP 地址

msy*_*eem 3 c# ip mac-address ip-address

我想获取登录系统(Web应用程序)的用户的IP地址和MAC地址。我正在使用这些代码行

    NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
Run Code Online (Sandbox Code Playgroud)

我正在使用这种方法来获取MAC地址,但问题是我正在获取计算机所有适配器的MAC地址。

我如何知道哪一个是正确的?如何获取连接到我的网站的设备的正确 MAC 地址?

以及如何获取适配器的IP。

当我在我的电脑上尝试时,它提供了 8 个适配器和 8 个 MAC 地址

我正在我的电脑上尝试,我有一个连接到 IntraNet 的有线连接,以及一个连接到互联网的无线连接。

Ahm*_*ani 5

您永远无法获得连接到您网站的用户的 MAC 地址,当目的地(您网站的服务器)和源(客户端计算机)之间发生套接字连接时,您只能获得源 IP 地址,因为 MAC 地址永远无法获得通过套接字连接(客户端 <--> 服务器)发送,以获取用户的 IP 地址:

using System.Net;

Private string GetIP()
{
string strHostName = "";
strHostName = System.Net.Dns.GetHostName();

IPHostEntry ipEntry = System.Net.Dns.GetHostEntry(strHostName);

IPAddress[] addr = ipEntry.AddressList;

return addr[addr.Length-1].ToString();

}
Run Code Online (Sandbox Code Playgroud)

来源:这里