【发布时间】: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