从Rails应用程序检索客户端系统信息

是否可以从Ruby on Rails应用程序中检索客户端计算机的CPUID和MAC地址? 有没有可用的插件?

我很确定不可能通过Rails应用程序解析客户端计算机的/ proc文件系统(并感谢上帝)。

你可以做的是在某种程度上使用Javascript。 互联网上有相当多的网站(主要是隐私扫描程序),它们利用Javascript来显示有关客户端系统的大量信息。 这甚至可能适用于客户端使用的CPU类型(假设这是’CPUID’的意思)。

Javascript和Rails都不能为你做什么,它会显示客户端的MAC地址(假设’macid’表示MAC地址)。 如果您深入了解TCP / IP网络的完成方式,您会发现这是设计上的。 另一个网段(例如,互联网)中的计算机从不打算知道您的MAC地址,也不需要。

如果你真的想知道某人的MAC,你需要使用像Java applet或ActiveX控件这样的东西(尽管这会限制你到某个平台)。 这些东西应该在发送隐私敏感信息(如MAC地址)之前提示您的用户进行确认/许可,这是一件好事。

Ruby on Rails用于编写Web应用程序。 Web浏览器不仅可以提供计算机的MAC地址和CPUID。

仅供记录:如果(且仅当)服务器和客户端在同一网段上,您可以 – 在Linux / Un * x系统上 – 在服务器上使用arp命令,因此在Rails应用程序中查找关于客户端的MAC地址,如下所示:

 $ arp 192.168.1.1 Address HWtype HWaddress Flags Mask Iface 192.168.1.1 ether 1c:c6:3c:48:bc:c0 C wlan0 

HWaddress列中的值是MAC地址。

如果是localhost网络(Intranet)上的计算机,则可以使用ruby来调用某些命令行管理工具。 例如,您可以对IP地址执行反向查找以获取计算机名称。 不确定Mac地址……您可能可以调用vbscript来执行此操作。