『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 1897|回复: 7

[技术探讨] 华为智慧生活奥普浴霸三种抓包尝试

[复制链接]

1

主题

9

帖子

93

积分

注册会员

Rank: 2

积分
93
金钱
84
HASS币
0
发表于 2022-9-24 00:29:03 | 显示全部楼层 |阅读模式
本帖最后由 as3522 于 2022-9-24 00:34 编辑

本人小白一枚,对home assistan的技术理解仅仅入门阶段,可能还没有入门
之前装修的时候,定的集成吊顶 然后带的浴霸是 QDP2826BHW, 按照完才发现是用华为智慧生活连接的, 但是我想用小米的人体感应去触发打开浴霸的灯。于是研究了一番。
一、(云端控制)抓包
一开始想着,抓一下智慧生活打开浴霸灯的报文,然后用模拟发包工具去发包控制开灯。
1.jpg
结果就是关键的包加密过了,放弃了
二、(本地控制)抓包
后面我发现断开网线后,还可以本地控制,于是我就抓包看一下本地控制的相关报文,发现是使用UDP报文。
大概流程是
智慧生活--组播--》改成本地控制
6.png
浴霸 --单播--》智慧生活 : 告知自己的一些信息

智慧生活 ---单播--》浴霸: 认证+控制灯打开+其他 ???(不确定)
7.png
浴霸--单播--》智慧生活:状态信息+其他 ???(不确定)

然后我就发现,每次这个控制开灯的报文都不一样,里面大概有几十个字段每次发控制报文都会变动,可能是每次发包把时间戳放进去了,又有校验和。不得而知。
所以我就发现,我通过报文反推它的逻辑是不对的,应该下载Hilink的sdk或者协议文档,然后再对应报文,而不是反过来。
还有就是这可能是奥普浴霸自己实现的本地控制协议。
具体我不得而知,也放弃了
三、(RS485) 抓log
这个浴霸是由控制端和电源端构成了。 控制端就是一个86盒子,盒子里面有一个单片机,然后通过485信号线到电源板,电源板有几个继电器。
3.png 4.png
控制板上面有wifi模块,接收来自手机的控制信息,然后通过485串口发给电源板,电源板打开继电器就实现了开关。
通过485抓包,猜测后感觉我破解了485控制机制
8.png
[17:37:46.143]收←◆E5 0A 40 21 01 01 00 00 42 B8
[17:37:46.261]收←◆E5 0F 04 20 00 00 00 00 00 01 01 00 00 B8 FB
[17:37:46.299]收←◆E5 0A 40 21 01 01 00 00 42 B8
[17:37:46.420]收←◆E5 0F 04 20 00 00 00 00 00 01 01 00 00 B8 FB E5 0A 40 21 01 01 00 00 42 B8 (01表示开灯)
[17:37:46.581]收←◆E5 0F 04 20 00 00 00 00 00 01 01 00 00 B8 FB
[17:37:46.600]收←◆E5 0A 40 21 01 01 00 00 42 B8
[17:37:46.717]收←◆E5 0F 04 20 00 00 00 00 00 01 01 00 00 B8 FB
[17:37:46.752]收←◆E5 0A 40 21 01 01 00 00 42 B8
[17:37:46.882]收←◆E5 0F 04 20 00 00 00 00 00 01 01 00 00 B8 FB E5 0A 40 21 01 01 00 00 42 B8

后面我用电脑直接连接电源板,发送开灯关灯的指令可以实现开关灯
5.png
于是我想着,我加一个“中间人”机制,等我想开灯的时候,自己发送485指令,
但是我发现不行,当我发送命令的时候,灯只会闪一下。
原因是这个样的,
控制面板--》我要开灯
控制面板--》我要开灯
控制面板--》我要开灯
。。。一直发下去,灯关的时候就一直发关灯的指令,一直发下去
四、放弃了
最后,我采用的方案是买一个LED的驱动板,加一个wifi继电器,直接把浴霸灯接到我的驱动板和wifi继电器上面。
相当于把灯从浴霸中拿出来了,这样奥普的86面板和智慧生活对灯的控制变成了空。

to recap
尝试抓包未果,485搞不定。放弃之。
不过我认为这个 本地控制使用UDP报文控制还是有研究价值的,如果其他的Hilink也采用这个方案,那感觉对后面的hilink智能设备控制有希望啊
这个UDP算下来是252 byte, 但是实际不知道含义的大概有几十个字段,理论上比搞https更容易。  但是我比较懒,技术不精,说不定自己的发现 方向就不对。
如果有大神感兴趣可以参考研究一下,我没招了
最后 理论上理论总是成立的

回复

使用道具 举报

0

主题

38

帖子

936

积分

高级会员

Rank: 4

积分
936
金钱
898
HASS币
0
发表于 2022-9-24 09:06:52 来自手机 | 显示全部楼层
用什么软件抓,求推荐
回复

使用道具 举报

41

主题

1308

帖子

5375

积分

论坛元老

Rank: 8Rank: 8

积分
5375
金钱
4062
HASS币
20
发表于 2022-9-24 11:20:40 | 显示全部楼层
请问485一般怎么抓的,咋知道它的发生帧
折腾精神永存,感恩感谢论坛每一位愿意分享和帮助过我的大佬,论坛有你更精彩
回复

使用道具 举报

1

主题

9

帖子

93

积分

注册会员

Rank: 2

积分
93
金钱
84
HASS币
0
 楼主| 发表于 2022-9-24 14:09:00 来自手机 | 显示全部楼层
jjcs 发表于 2022-9-24 11:20
请问485一般怎么抓的,咋知道它的发生帧

我是买了一个usb转485的串口板,然后 A B两个端口去接d-   d+,看屏幕有没有打印就行了,剩下的就是配波特率,一般不是9600就是115200
回复

使用道具 举报

1

主题

9

帖子

93

积分

注册会员

Rank: 2

积分
93
金钱
84
HASS币
0
 楼主| 发表于 2022-9-24 14:12:12 来自手机 | 显示全部楼层
智定义 发表于 2022-9-24 09:06
用什么软件抓,求推荐

手机端用vnet,不过要下载trustme这个xposed插件,据说是关闭ssl认证的。   
还可以使用tcpdump
手机都需要root
回复

使用道具 举报

0

主题

38

帖子

936

积分

高级会员

Rank: 4

积分
936
金钱
898
HASS币
0
发表于 2022-9-24 18:31:36 来自手机 | 显示全部楼层
我有华为智慧生活内测版APP,可以看到一些控制信息,但不懂咋接入
回复

使用道具 举报

26

主题

150

帖子

1275

积分

金牌会员

Rank: 6Rank: 6

积分
1275
金钱
1120
HASS币
20
发表于 2023-7-6 23:27:08 | 显示全部楼层
大佬,我是QDP6626B,板子跟你一样,但是我的没wifi,我根据你的方法,我直接将485接到这个开关上,亮都没法亮呢,能指点一下么
回复

使用道具 举报

0

主题

8

帖子

68

积分

注册会员

Rank: 2

积分
68
金钱
60
HASS币
0
发表于 2023-12-14 17:19:24 | 显示全部楼层
as3522 发表于 2022-9-24 14:12
手机端用vnet,不过要下载trustme这个xposed插件,据说是关闭ssl认证的。   
还可以使用tcpdump
手机都需 ...

我的思路跟你一样,抓到固定包之后写个脚本,用开关的方式接入到ha里,不过他的app里有证书绑定,你用justtrustme插件抓智慧生活的包抓到过么?如果能行我再折腾折腾我手机的root
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-5-7 21:05 , Processed in 1.059767 second(s), 32 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表