【问题标题】:Support Application - Access to system information from browser (desktop and mobile)支持应用程序 - 从浏览器(桌面和移动)访问系统信息
【发布时间】:2011-03-25 12:06:53
【问题描述】:

我的团队在一所相对较大的大学(50k+ 用户)负责后端架构、身份验证等以及无线和有线网络的工程级支持。我们最大的两个问题是确认网络问题(即确认“加载时间长”或“互联网速度慢”的报告),以及收集有关客户端设备的准确信息(MAC 地址、驱动程序信息、配置等)。我们正式支持 Windows、Mac、Ubuntu Linux、iOS 和 Android。移动设备对我们来说非常重要,因为它们变得非常流行。

我们已经可以访问 Web100 NDT 服务器(类似于http://ndt.anl.gov:7123/ 的服务器),它使用 Java 小程序运行双向带宽测试,并报告上传和下载带宽、延迟、抖动、客户端是否在 NAT 等之后。据说 NDT 服务器也有 iOS 和 Android 客户端,但这将 a)需要在他们的设备上永久安装应用程序(并且,对于 iOS,在 App Store 中获取它),并且 b)我怀疑iOS 应用是开源的,所以我们需要从头开始实现它以添加信息收集和结果提交。

我需要以相对简单的方式收集有关客户端操作系统的信息,让非技术性最终用户能够理解?从本质上讲,我希望我们的服务台人员能够告诉用户(嗯,那些有工作网络连接的用户)去一个网页,输入他们的票号,点击一个按钮,然后一些东西 em> 将收集他们的 MAC 地址、操作系统类型和版本、无线网卡驱动程序版本等,然后将其发送回服务器。

我考虑过使用 Java 小程序,但考虑到现代浏览器中的沙盒功能,无论应用程序如何签名或用户发出多少警告,我似乎都无法获得 MAC 地址(更不用说 shell 访问等更有用的东西了)给定的。我正在考虑使用 Java Web Start 从桌面操作系统中获取我们需要的东西,或者只是告诉 Linux 和 Mac 人员下载 Bash 脚本并运行它。

对移动操作系统有什么想法吗?对于他们来说,本质上,我需要获取无线 MAC 地址、设备型号、操作系统版本/构建等。

任何人都知道已经在做这样的事情的任何项目(并且是免费和免费的)?

【问题讨论】:

  • 还有一件事我忘了提......因为我们最大的支持领域是无线,如果我想出的任何方法都能以某种方式访问​​无线网卡的当前看过的网络、连接的 SSID、信号强度等...

标签: java android ios browser


【解决方案1】:

对于 Android,您可能需要专门的应用程序来提供信息...如果没有它,我不确定您是否会获得该级别的详细信息。该应用程序也需要权限才能运行。我很想被证明是错误的,但我怀疑情况会如此。您可以链接用户从支持页面安装的应用程序,如果这使用户更容易,该应用程序可以自动发回信息?无论如何,以下可能会有所帮助:

wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);

随后的方法调用如wifiManager.getDhcpInfo()wifiManager.getWifiState()wifiManager.getConnectionInfo() 应该提供您需要的信息。

您还需要在应用的清单中使用<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

这个来自@willytate 的 sn-p 在另一个类似的线程中是关于操作系统信息的: android.os.Build 提供了很多信息。试试:

String s="调试信息:"; s += "\n 操作系统版本:" + System.getProperty("os.version") + "(" + android.os.Build.VERSION.INCREMENTAL + ")"; s += "\n 操作系统 API 级别:" + android.os.Build.VERSION.SDK; s += "\n 设备:" + android.os.Build.DEVICE; s += "\n 模型(和产品):" + android.os.Build.MODEL + " ("+ android.os.Build.PRODUCT + ")";

希望有帮助

史蒂夫

【讨论】:

  • 谢谢,史蒂夫。我有一种感觉,如果没有应用程序就无法做到这一点......当我们有一两天的访客用户并且必须要求他们安装时,这很痛苦......另一方面,那是不像在 Apple 设备上这样做那么痛苦......
猜你喜欢
  • 2016-08-23
  • 1970-01-01
  • 2010-09-26
  • 1970-01-01
  • 1970-01-01
  • 2012-06-22
  • 2010-12-12
  • 2011-12-28
  • 1970-01-01
相关资源
最近更新 更多