我正在寻找一种解决方案来了解使用 asp.net 网站的用户的 MAC 号码。我知道你可以得到一个 IP 地址(不知道为什么,但它不会很复杂)但是我能找出具有 IP 的 MAC 地址吗?
编辑:我的意思是在.NET中以编程方式(而不是手动)
我正在寻找一种解决方案来了解使用 asp.net 网站的用户的 MAC 号码。我知道你可以得到一个 IP 地址(不知道为什么,但它不会很复杂)但是我能找出具有 IP 的 MAC 地址吗?
编辑:我的意思是在.NET中以编程方式(而不是手动)
IP 地址对于路由请求信息的客户端系统和服务器之间的通信是必需的。你可以得到它,因为 IP 地址是从 TCP/IP 堆栈中的较低级别(我相信是第 3 级)中提取的。MAC 地址对于任何这些都不是必需的,因此它不包含在客户端和服务器之间的通信中。
没有机会得到这个对不起。
即使你可以尝试获取它也没有任何意义,当我访问互联网上的网站时,我的 MAC 地址永远不会离开我的家庭网络。
好的,如果用户在同一个 LAN 上,例如在公司内部网中,这可以通过拥有 ip 地址并使用诸如 arp 之类的命令行工具来确定。
ARP 代表地址解析协议,当仅知道主机的 Internet 层 (IP) 或其他网络层地址时,它可用于查找主机的链路层(硬件)地址。
如果您的站点受信任,您可以在 IE 中执行此操作:http:
//www.devarticles.com/c/a/JavaScript/Advanced-JavaScript-with-Internet-Explorer-Retrieving-Networking-Configuration-Information/1/
我不希望它适用于任何典型的访问者,只是你已经控制的系统的用户,比如在你的本地网络上。如果您可以找到使用 CoCreateGuid 生成 guid 的常见 activex,则在 IE 中可能有第二种方式。它返回部分 guid 中的 mac 地址。我不会打赌找到一个通常安装的。
Java 6 有一个NetworkInterface#getHardwareAddress()
方法通常返回相关计算机的 MAC 地址。您可以创建一个小的 Java 小程序来与您的 Web 服务器进行通信以获取 MAC 地址,尽管有一些方法和方法可以欺骗 MAC 地址。
您获得的 MAC 地址可能不实用。如果某人有多个网络适配器,那么他们也有多个 MAC 地址。有人拥有两个网络的情况并不少见。(例如,蓝牙、普通有线和 WiFi 已经是三个。)
MAC地址仅用于识别,可以请求。地址解析协议就是为此目的而创建的。通过arping您可以获得MAC地址。不幸的是,这仅适用于本地网络,不适用于 Internet。我认为通过使用 IPv6,您可能还有一些选择。尽管我认为它仍然仅限于本地系统。
获取访问者的 MAC 地址可能被认为是不恰当的,甚至可能是犯罪行为,因为 MAC 地址通常用作唯一标识符。黑客可能会滥用此信息,尤其是当黑客设法获得对用户网络的物理访问权限时。这将允许他冒充用户。您的网站可能会让一些安全专家非常不高兴...
在http://www.ipaddresslocation.org/find-mac-address.php有一个他们声称可以工作的 Java 小程序。不过,它不在我的带有 Google Chrome 的系统上。
我有一个类似的问题(我使用客户端设备 MAC 地址作为在不同设备上定位不同内容的关键)。这个线程很有用。鉴于似乎无法隐式执行此操作,我将 MAC 地址作为客户端传递给 Web 服务的参数之一。
(注意,这不是一个通用的答案,只有在客户端和服务器紧密集成以及可以通过调用传递数据的情况下才有意义。)
我认为这在任何平台上都不可能。