VirtualApp

Android平台HTTPS抓包解决方案及问题分析

倾然丶 夕夏残阳落幕 提交于 2019-12-25 19:11:26
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Android平台HTTPS抓包解决方案及问题分析 HTTP协议发展至今已经有二十多年的历史,整个发展的趋势主要是两个方向:效率和安全。效率方面,从HTTP1.0的一次请求一个连接,到HTTP1.1的连接复用,到SPDY/HTTP2的多路复用,到QUIC/HTTP3的基于UDP传输,在效率方面越来越高效。安全方面,从HTTP的明文,到HTTP2强制使用TLSv1.2,到QUIC/HTTP3强制使用TLSv1.3,越来越注重数据传输的安全性。总而言之,HTTP协议的发展对用户是友好的,但是对开发者而言却不那么友善。 抓包是每个程序员的必修技能之一,尤其是在接口调试和程序逆向方面具有广阔的用途。但是,随着越来越多的通信协议使用加密的HTTPS,而且系统层面也开始强制规定使用HTTPS,抓包似乎是显得越来越难了。 本篇博客,主要详解Android平台下,HTTPS抓包的常见问题以及解决办法。工欲善其事必先利其器,博客中以HttpCanary作为抓包工具进行讲解。更多HttpCanary的资料,请见:github.com/MegatronKin… 抓包原理 几乎所有网络数据的抓包都是采用中间人的方式(MITM),包括大家常用的Fiddler、Charles等知名抓包工具