我最近买了一台三星智能电视。设置好wifi连接后,我上网http://ip.comlex.de,它为我提供了有关浏览器的以下信息:
REMOTE_ADDR
: ###.###.###.###REMOTE_HOST
: XXXXXXXXXXXXXXXXXXX.netREQUEST_TIME
:1381093040QUERY_STRING
:HTTP_ACCEPT
:文本/html,应用程序/xhtml+xml,应用程序/xml,应用程序/vnd.hbbtv.xhtml+xml,应用程序/ce-html+xml,应用程序/vnd.oipf.xhtml+xml;q=0.9,/;q=0.8HTTP_ACCEPT_CHARSET
:HTTP_ACCEPT_ENCODING:gzip、deflateHTTP_ACCEPT_LANGUAGE
: HTTP_REFERER: http://pagerank.comlex.de/HTTP_USER_AGENT
:Mozilla/5.0(SMART-TV;X11;Linux i686)AppleWebKit/535.20+(KHTML,如 Gecko)版本/5.0 Safari/535.20+
那么,我的 SmartTV 上是否有像 HTTP_USER_AGENT 所建议的那样运行 Linux?如何找到有关所使用的 Linux 的更多信息?我可以通过台式电脑登录电视吗?
可能的解决方案:http://www.samsungdforum.com/Guide/d21/index.html#how-to-get-firmware-version-and-model-code
答案1
用户代理字符串通常是有关连接到服务器的浏览器的信息,不一定是有关服务器的信息。
例如,如果您去http://www.useragentstring.com/您可以找到有关您的浏览器的信息:它显示了用户代理字符串的详细信息。
例子
这里我使用的是 Chrome
Mozilla/5.0(X11;Linux x86_64)AppleWebKit/537.36(KHTML,如 Gecko)Chrome/27.0.1453.110 Safari/537.36
这是字符串中的值含义的解释
如何学习服务器操作系统
我会用来nmap
做这个。您可能必须安装它,但它会根据系统对 nmap 查询的响应方式向您显示系统的指纹。除此之外,当针对它们建立网络连接时,每个操作系统都会在时间和顺序方面以独特的方式做出响应,这些信息已被编译成nmap
这样,以便它可以显示另一端的底层操作系统是什么。
您可以使用此查询来查找:
$ sudo nmap -v -A <ip address>
例子
在这里,我正在扫描用于开发的网络服务器。
$ sudo nmap -v -A homer
Starting Nmap 5.21 ( http://nmap.org ) at 2013-10-11 09:25 EDT
NSE: Loaded 36 scripts for scanning.
Initiating ARP Ping Scan at 09:25
Scanning homer (192.168.1.105) [1 port]
Completed ARP Ping Scan at 09:25, 0.15s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 09:25
Completed Parallel DNS resolution of 1 host. at 09:25, 11.04s elapsed
Initiating SYN Stealth Scan at 09:25
Scanning homer (192.168.1.105) [1000 ports]
Discovered open port 587/tcp on 192.168.1.105
Discovered open port 25/tcp on 192.168.1.105
Discovered open port 111/tcp on 192.168.1.105
...
...
Device type: general purpose
Running: Linux 2.6.X
OS details: Linux 2.6.9 - 2.6.28
Uptime guess: 10.557 days (since Mon Sep 30 20:03:59 2013)
Network Distance: 1 hop
TCP Sequence Prediction: Difficulty=205 (Good luck!)
IP ID Sequence Generation: All zeros
Service Info: Host: homer.bubba.net; OS: Unix
HOP RTT ADDRESS
1 4.05 ms 192.168.1.105
Read data files from: /usr/share/nmap
OS and Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 22.16 seconds
Raw packets sent: 1022 (45.726KB) | Rcvd: 1016 (41.372KB)
这些行将告诉您您想知道的内容:
Running: Linux 2.6.X
OS details: Linux 2.6.9 - 2.6.28
您的 HTTP_USER_AGENT 字符串
因此,如果您使用 Samsung SmartTV 中包含的浏览器并且看到以下内容,则可以做出以下 2 个假设:
HTTP_USER_AGENT:Mozilla/5.0(智能电视;X11;Linux i686)AppleWebKit/535.20+(KHTML,如 Gecko)版本/5.0 Safari/535.20+
- 该系统实际上是一个 Linux 系统,使用某种形式的运行 X11 的 Linux,以及基于 WebKit 的浏览器版本。
- 系统的 Web 浏览器被配置为欺骗其 USER_AGENT 字符串到报告该字符串的网站,并且它是一些未知的操作系统和浏览器组合。
要了解有关该系统的更多信息,您可能需要使用我上面概述的方法nmap
。
答案2
是的,它运行的是精简的 2.6 内核。您可以获得 root 访问权限以及 telnet 和 ftp 到电视的权限。这是相当不错的,因为您可以将来自不同地区的多个应用程序添加到一个区域智能中心,解密电视录像并为 nas 设置更好的 pvr。谷歌搜索 SamyGo。
答案3
以防万一有人偶然发现这个线程:
各种型号的 Linux 源代码似乎可以在这里。
答案4
从技术上讲,Linux 正在您的电视上运行,是的。但它不是一个真正的 Linux 发行版,就像很多人会说 Android 不是一个真正的 Linux 发行版一样(不打算对此发表评论,因为我不想引发一场口水战)。
基本上,Linux 内核非常善于适应其运行的硬件——这可以归结为它在嵌入式设备一直到超级计算机上都表现得很好,几乎不需要做任何改变。因此,大多数嵌入式设备都使用Linux内核。
现在,如果没有用户空间,内核几乎毫无用处。对于使用 Linux 内核的发行版,所述用户区通常是 GNU。看当我们说我们正在使用 Linux 时,我们到底是什么意思?有关 Linux 内核和 GNU 之间差异的更详细解释。您可能还对关于内核的维基百科页面。
我一直在引导的是,你的电视将基于 Linux 内核,但除此之外,它看起来一点也不像 GNU/Linux 发行版,因为它没有 GNU 用户区。因此,回答你的第二个问题(我可以登录我的电视吗),答案是否定的。这是因为电视并非设计用作通用操作系统,因此您无法访问root
.