我想在 Rails 中为一些LockState wifi 可编程恒温器开发一个基于 Web 的 API ,以便其他不同的应用程序可以控制这些恒温器。但是我找不到关于如何从 Internet 访问这些恒温器以及如何连接到这些恒温器的任何资源。有没有可用的文档?如果没有,我将如何找到与恒温器的交互方式?
LockState 无线互联网恒温器的 API
逆向工程
互操作性
接口
嵌入式
2021-07-08 07:56:10
2个回答
好的,到目前为止,您的问题在信息方面有点不足,但很有趣。让我开始尝试回答它。由于缺少相关设备,我将无法回答。
方法
这就是我要做的。
- 伪装成 WiFi 接入点 (AP)。大多数 WiFi 卡都允许你这样做,如果软件方面也允许的话。如果现有接入点类似于基于 Linux 的接入点,则您不需要其他任何东西。
- 一旦你是嗤之以鼻,通过使用Wireshark的,接口的流量了的AP
tcpdump或类似的工具。- 弄清楚使用的协议
- 如果它是纯文本协议,您只需要解码发送数据的含义
- 如果是加密的
- 看能不能用中间人攻击来读取数据流
- 尝试找出服务器软件的版本。通常嵌入式软件有点落后,所以如果你发现它容易受到攻击,你可能会得到一个 (
root) shell。 - 尝试为设备查找固件更新,看看工具是否喜欢
binwalk并且firmware-mod-kit可以理解它们。能够解压缩固件更新将为您提供有关设备和当前版本上运行的内容的大量信息,即使版本可能不同。
- 如果您发现允许使用特定证书并且它们基于弱散列算法 ( MD5 ),或者它恰好是在 Debian 上创建的SSH 密钥,但它存在漏洞。在前一种情况下,您可能能够伪造证书,而在后一种情况下,您将能够暴力破解其他安全的 SSH 连接
- 弄清楚使用的协议
- 如果上述所有条件都失败并且能够(在经济上)牺牲其中一个设备,我会将其拆开并尝试找出是否可以获得串行控制台或JTAG引脚/触点是否可用。如果我能够找到有关使用过的芯片的更多信息,我会尝试进行边界扫描。
你读得越深,要克服的障碍就越多,方法就越难。现在,如果这个部分答案让您开始,也许您可以在问题中编辑更多细节。
该恒温器看起来与无线电恒温器 CT-50 相同。该设备有一个开放的 JSON API,您可以在他们的网站上阅读。 http://radiothermostat.com
其它你可能感兴趣的问题