【问题标题】:How can I know the operating system of a device如何知道设备的操作系统
【发布时间】:2013-04-04 03:54:39
【问题描述】:

如果我知道设备的型号或供应商。有什么直接的方法可以让我知道这个设备的操作系统(例如通过设备驱动程序或类似的东西?)。例如,我将引用我之前提出的问题的答案:What is the difference between the firmware and the operating system?

有人说:

硬件供应商通常使用 linux 的衍生产品(例如 Cisco IOS)

我怎么知道这个。我知道一个 cisco 设备的名称,但我没有该设备,我需要检查它的操作系统是什么(即使众所周知它是 Linux,我也需要自己检查)。我怎样才能得到这条信息?我查了公司网站和谷歌,我找不到任何答案。

【问题讨论】:

  • 是否发布此信息完全由制造商决定。如果它不可用,则无法知道这一点。
  • 我不同意“硬件供应商通常使用 linux 的衍生产品”。但是判断是否嵌入了 Linux(或某种 GPL 代码)的一种方法是查找 GPL 语句。例如。在某些 Panasonic 电视上,有一个屏幕(在设置菜单下方)显示 GPL,并且 GPL 也印在用户手册中。
  • 您可以通过固件更新或使用闪存编程器通过拆下芯片并从设备中读取来获取二进制。二进制文件上的一个简单的strings 命令将提供大量信息。十六进制编辑器和其他程序也将促进这个简单的反向工程任务。 固件更新通常是压缩的,因此对更新进行频率分析以确定如何获取纯文本。

标签: operating-system embedded embedded-linux cisco-ios web-operating-system


【解决方案1】:

如果遵守 GNU 公共许可证的条款,那么设备是否使用任何 GPL 代码(包括 Linux)应该是相当清楚的,而且源代码也应该可用。

如果设备使用的操作系统不是开源的,那么即使您可以获得这些信息,它也不太可能特别有用,除非可能在应用制造商的固件更新方面。

Linux 在嵌入式系统中并不常见。它通常用于某些类型的设备,例如路由器、STB 和 NAS。通常这些设备都有一个网络服务器接口,通过该接口通常可以获得版本信息,但是没有通用的方法来访问这些信息,您必须访问设备的特定 URL 并解析 HTML。

【讨论】:

  • 您认为设备驱动程序包含 GPL 声明吗?知道在哪里可以看到 GPL 声明吗?关键是,我没有设备,所以我可以看到启动或其他任何东西,但我可以下载在线可用的驱动程序。
  • “Linux 在嵌入式系统中并不常见。”。你的意思是Linux在嵌入式系统中被广泛使用还是没有被广泛使用?请原谅我的英语语言,但我没听懂意思。
  • @user2192774:see this。如果不知道它是什么,就无法告诉您有关您设备的任何信息。查看文档和标签以获取任何线索。如果是网络设备,请查看它在网络上的呈现方式。
【解决方案2】:

您需要一根串行电缆才能侵入设备或从闪存读取二进制文件并检查 hexdump。我家有一台机顶盒。提供商没有透露操作系统。有些竞争对手需要这些信息才能让你失望。

【讨论】:

    猜你喜欢
    • 2018-07-14
    • 2012-11-29
    • 1970-01-01
    • 2021-12-18
    • 2011-03-13
    • 1970-01-01
    • 2017-06-23
    • 1970-01-01
    • 2019-02-09
    相关资源
    最近更新 更多