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

4

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

请有人指导一下。谢谢,Yagya


新手上路。接下来我会解决这个问题。 - Yagya Sharma
你是在说作为一个ASP.NET服务器(可能提供网页/服务),你想知道Web客户端的MAC地址,以及他们的公共IP地址和内部网络IP地址? - Jaime Torres
假设我上面的评论是正确的,在没有在客户机上运行特权代码的情况下,你可以推断出的唯一信息就是他们的ISP IP地址。更多信息:http://www.codeproject.com/Answers/303661/How-to-get-Mac-Address-of-Client-Machine-in-asp-net - Jaime Torres
你的确切目标是什么?也许还有其他选择... - Yahia
4个回答

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

大家好 - 我们有一个开发银行系统模块的需求。我们需要捕获浏览器客户端的计算机细节并跟踪它。 - Yagya Sharma
它永远不会可靠。这是客户端的东西,你不能依赖客户端,因为即使是一个新手也可以伪造数据。 - Can Poyrazoğlu

2

无法通过互联网获取PC的MAC地址。


1
当您使用ASP.NET时,用户机器上运行的唯一内容是HTML和JavaScript。您无法使用JavaScript获取MAC地址,但是可以get the IP address并将其发送回来。
要获取本地IP地址和MAC地址,您需要让用户运行一个应用程序,例如Java应用程序。

+0. 在服务器上获取IP,将其发送到客户端并按链接建议将其发布回来并不是非常高效的方法 :)。它使用REMOTE_ADDR服务器变量,可以在不进行往返(如(+1)can poyrazoğlu所建议的)的情况下使用,并已在IIS日志中记录,无需额外的代码。 - Alexei Levenkov
那只是我在谷歌上找到的一个例子。我的观点是,如果不运行应用程序,就无法获取本地IP或MAC地址。 - Danny Varod

1
要获取MAC地址,您需要拥有已签名的ActiveX / jar / .net dll。否则,您只能获取IP地址。
为什么需要签名?因为大多数客户端都将其浏览器设置为阻止任何未经签名的活动组件。
您可以从有效的CA获取代码签名证书。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接