我是一个分享干货的作者。
解决方案是从美团的一篇移动端网络优化实践文章获得的启发,大致内容如下。
"由于客户端的请求都放在TCP通道上进行,当代理长连服务器需要升级或者由于极端情况发生了故障时,将会造成客户端的整体网络服务不可用。为了解决这个问题,我们准备了Failover降级方案。当TCP通道无法建立或者发生故障时,可以使用UDP面向无连接的特性提供另一条请求通道,或者绕过代理长连服务器之间向业务服务器发起HTTP公网请求。" --<美团点评移动网络优化实践>
上边的文章段落出自美团技术团队的<美团点评移动网络优化实践>,从中可以看出,美团使用的是TCP长连服务,有一句话很重要,让我们抓http有了可趁之机,大概意思就是为了应对TCP长连接出现故障情况,美团团队准备了一套降级方案,那就是使用udp或发起http公网请求。
既然如此那我们让TCP连接方式发生故障不就可以了?
1.打开wireshark 抓包
2.大胆的猜测哪个TCP 协议的ip 是美团的(响应包数据比较大的是最可疑的)
3.配置出入规则 禁止上一步中猜测出的ip,即可造成文中所说的故障。windows平台配置为例:
4.然后再继续使用charles进行抓包,此时美团外卖app已经启动降级方案。抓包结果如下
接口也都已经走http了,返回数据也都正常,下一步就是破解相关的加密参数。