现在很多app数据通常都不走http接口,而是tcp或者自定义的协议,当然都逃离不了tcp/ip协议族。
对于一些大厂app而言,为了保证业务可靠性,当自定义协议或者使用tcp这种进行网络传输时如果出现问题,他们会准备一套降级方案,那就是自动切换到http接口进行数据的收发。
那么,关键点就来了,我们可以让他在tcp通讯时发生故障,然后就可以让app强制走http接口了。
如何触发故障?最简单的就是找到tcp通讯的服务端ip,然后防火墙禁用tcp通讯的ip即可,下面以某团app抓取http请求接口为例
1.打开wireshark 抓包
抓包过程略略略。。。
2.大胆的猜测哪个TCP 协议的ip 是某团的(响应包数据比较大的是最可疑的)
3.配置出入规则 禁止上一步中猜测出的ip,即可造成文中所说的故障。windows平台配置为例:
4.然后再继续使用charles进行抓包,此时某团外卖app已经启动降级方案。抓包结果如下
接口也都已经走http了,返回数据也都正常,下一步就是破解相关的加密参数。