确定最终用户机器 MAC 地址和 IP 地址(本地和 ISP)

Posted

技术标签:

【中文标题】确定最终用户机器 MAC 地址和 IP 地址(本地和 ISP)【英文标题】:Determining End user Machine MAC address and IP addresses (Local and ISP) 【发布时间】:2012-07-25 19:44:14 【问题描述】:

我不太确定如何确定最终用户计算机 MAC 地址和 IP 地址(本地和 ISP)。我们正在使用基于 ASP.net 的系统,使用 C# 作为编程语言。

谁能指导一下。问候,Yagya

【问题讨论】:

这个系统的新手。接下来我会解决这个问题 您是说您作为 ASP.NET 服务器(可能提供网页/服务)想知道 Web 客户端的 MAC 地址,以及它们的公共 IP 地址和内部网络 IP 地址? 假设我上面的评论是正确的,没有特权代码在客户端机器上运行,你可以推断出的唯一信息是他们的 ISP 的 IP 地址。更多信息:codeproject.com/Answers/303661/… 你的目标到底是什么?也许还有其他选择... 【参考方案1】:

如果您正在编写 Internet Web 应用程序(而不是 Intranet/LAN 应用程序),则无法确定客户端的本地地址和 MAC 地址,除非客户端明确将其发送给您。您可以通过Request.UserHostAddress 字段获取外部(公共、互联网)地址。如果客户端使用代理,则查看Request.ServerVariables["REMOTE_ADDR"]Request.ServerVariables["HTTP_X_FORWARDED_FOR"] 将是另一种选择,因为它们可能会显示真实地址。无论哪种方式,这些选项都不能得到保证,您不应该依赖它们。它们可能是额外的验证层,但绝不应该是检查身份的主要机制。

【讨论】:

您好 - 我们有开发银行系统模块的需求。我们需要捕获浏览器客户端的计算机详细信息并对其进行跟踪。 它永远不会可靠。这是客户端的事情,你不能依赖客户端,因为即使是新手也可以伪造数据。【参考方案2】:

您无法通过 Internet 获取 PC 的 MAC 地址

【讨论】:

【参考方案3】:

当您使用 ASP.NET 时,在用户计算机上运行的唯一内容是 htmljavascript。您不能使用 JavaScript 来获取 MAC 地址,但是,您可以 get the IP address 并将其发回。

要获取本地 IP 地址和 MAC 地址,您需要让用户运行应用程序,例如Java 应用程序。

【讨论】:

+0。在服务器上获取IP,将其发送给客户端并按照链接上的建议将其发回并不是很有效:)。它使用 REMOTE_ADDR 服务器变量,无需往返即可使用(如 (+1)can poyrazoğlu 建议的那样),并且无需额外代码即可登录 IIS 日志。 这只是我用谷歌搜索的一个例子。我的观点是,如果不运行应用程序,您将无法获取本地 IP 或 MAC 地址。【参考方案4】:

要获得 MAC 地址,您需要有一个签名的 ActiveX/jar/.net dll。否则只能获取 IP 地址。

为什么要签名,因为大多数客户端都有他们的浏览器设置来阻止任何未签名的活动组件。

您可以从有效的 CA 获得代码签名证书。

【讨论】:

以上是关于确定最终用户机器 MAC 地址和 IP 地址(本地和 ISP)的主要内容,如果未能解决你的问题,请参考以下文章

如何在Node.js中获取本机本地IP地址

怎么把家里的本地连接地址类型设置成通过DHCP指派

CentOS7获取网卡Mac地址

同一局域网内两台机器同一个MAC地址相同会冲突吗

SylixOS ARP攻击解决办法

arp命令