获取ASP.NET网站用户的MAC地址

获取ASP.NET网站用户的MAC地址

问题描述:

我正在寻找一个解决方案来了解使用asp.net网站的用户MAC地址。我知道你可以得到一个IP地址(不知道为什么,但它不能很复杂),但我可以找出具有IP的MAC地址吗?获取ASP.NET网站用户的MAC地址

编辑:我的意思是编程方式(没有手动)在.NET

+0

你怎么能得到别人的MAC地址从您的网络外部? – 2010-07-22 12:57:56

如果您的网站是可信的,你可以在IE中做到这一点:
http://www.devarticles.com/c/a/JavaScript/Advanced-JavaScript-with-Internet-Explorer-Retrieving-Networking-Configuration-Information/1/

我不希望它为任何典型的游客,只需用户谁是你已经控制系统,如在本地网络上工作。如果你可以找到一个使用CoCreateGuid生成guid的公共activex,那么在IE中可能有第二种方法。它在guid的一部分返回mac地址。我不会打赌找到一个通常安装的。

没有机会得到这个遗憾。

即使你能做到这一点也没有意义,当我访问互联网上的网站时,我的MAC地址永远不会离开我的家庭网络。

好的,如果用户在同一个局域网中说,例如,这可以通过使用ip地址和使用像arp这样的命令行工具来确定。

ARP表示地址解析协议,当只有其Internet层(IP)或其他网络层地址已知时,它可用于查找主机的链路层(硬件)地址。

+1

虽然没有ASP.NET,但有几种可能的方法。 – 2009-08-27 18:24:30

+2

它是同一家公司的同一个局域网 – agnieszka 2009-08-27 19:09:40

我不认为这是可能的任何平台上。

+1

这是不正确的。使用ActiveX,Java和ARP查看上述答案。 – 2009-08-27 18:22:14

+2

我应该澄清......任何事情都是可能的,但这么多事情必须落入调整之中,这是不实际的。看起来你必须在局域网上,并在客户端上提高了专有权。如果他想要互联网用户的MAC地址,他必须让他们安装一个特殊的客户端 - 这是可能的,但根本不可行。 – Mayo 2009-08-27 18:31:53

+1

没有人询问实际的解决方案。我需要它在我的本地局域网,我完全没有限制 – agnieszka 2009-08-27 19:45:14

IP地址是路由请求信息的客户端系统和服务器之间的通信所必需的。你可以得到它,因为IP地址是从TCP/IP堆栈中的较低级别(我相信3级)中拉取的。 MAC地址不是必需的,因此它不包含在客户端和服务器之间的通信中。

Java 6有一个NetworkInterface#getHardwareAddress()方法,其中通常返回有问题的计算机的MAC地址。您可以创建一个小型Java小应用程序与您的Web服务器进行通信以获取MAC地址,尽管有欺骗MAC地址的方法和手段。

您获得的MAC地址可能不实用。如果有人有多个网络适配器,那么他们也有多个MAC地址。有人拥有两个网络并不罕见。 (例如,蓝牙,普通电缆和WiFi将已经是三个。)

MAC地址仅用于识别并且可以请求。地址解析协议是为此目的而创建的。通过arping你可以得到一个MAC地址。不幸的是,这只适用于本地网络,而不适用于互联网。我认为,通过使用IPv6,你也可以有几个选择。虽然我认为它仍然仅限于一个本地系统。

获取访问者的MAC地址可能被认为是不恰当的,甚至可能是犯罪,因为MAC地址通常用作唯一标识符。这些信息可能会被黑客滥用,尤其是当黑客设法获得对用户网络的物理访问时。这将允许他冒充用户。您的网站可能会使一些安全专家非常不高兴......

http://www.ipaddresslocation.org/find-mac-address.php有一个Java小程序,他们声称将工作。尽管如此,它不会在我的系统上使用谷歌浏览器。

我有一个类似的问题(我使用客户端设备的MAC地址作为关键目标在不同的设备不同的内容)。这个线程很有用。鉴于似乎没有办法隐式执行此操作,我必须将MAC地址作为客户端传递给Web服务的参数之一。

(NB这不是一个通用的答案,它才有意义在客户端和服务器紧密集成和那里是用于传递数据与呼叫范围。)