-
-
[原创]wss协议分析(SSL加密的WebSocket)
-
发表于:
2018-4-24 20:31
26780
-
[原创]wss协议分析(SSL加密的WebSocket)
前几天抓包分析数据的时候抓包抓不到,最后发现是wss,之前没有见过,特此记录。
首先打开 Charles android手机设好代理打开apk
能直接抓到包
因为我只想抓点击按钮以后的数据:
按照国际惯例清除之前抓到的,重新抓一次,可是按了搜索按钮
界面的数据是刷新了,可是Charles里面却没有数据。怎么回事呢,不是http,难道是 sokect。那直接看代码吧。
先通过神器ddms搜索这个按钮的id
然后可以看到 搜索按钮的 id为 layout_home_search_main
继续打开jadx
搜索到这个view RelativeLayout 然后找到他的点击事件看看怎么实现的
显而易见代码肯定是这里
最后跟到这里,看函数名和参数确定了就是sokect实现的。继续跟吧
一直跟到了这里,瞬间豁然开朗
看到了 open。connect,send ,close
这不就是 协议通用的几个函数吗!然后我反编译apk加入了log
看到 send函数就是传入的值。而onMessage里面就是返回的值。
你以为这就完了吗,没有!找到地方了。我还得模拟协议啊。ip是多少啊。继续看构造函数
构造函数果然有uri,继续加入log重新编译。打印结果
看到了
看到了他不是http协议。而是wss。百度一下
大概懂了。就是连接一次可以永久互发消息
然后找了wesocket在线测试。完美连接。可是我发送的消息他不能正确返回。
重新跑了一下我加入日志的apk,看到他在发送请求的之前还发送一条认证的串。
而认证的串是固定的。到此分析完毕。模拟java代码
}
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
最后于 2018-4-24 20:35
被skyun编辑
,原因: