使用Mitmproxy分析接口
这篇讲的是如何使用开源的Mitmproxy来抓包分析移动端接口,作者从Charles收费、Fiddler Mac版不稳定的现状出发,引出了这款免费且稳定的替代工具。 文章不仅讲了安装,更重点演示了如何配置证书以拦截HTTPS请求。作者以汽车之家APP为例,完整展示了从配置代理、捕获流量到分析接口的实战过程。过程中有个有趣的发现:APP并非直接调用域名,而是通过HttpDNS获取IP,并在请求头中携带Host信息。直接访问截获的IP地址会无效,必须补充Host才行。 更精巧的是,在尝试获取品牌数据时,作者发现即使地址正确,返回结果也是空的。通过仔细比对请求与响应中的时间戳,他推测APP实现了一套自定义的缓存机制。主动调低请求中的ts参数后,成功拿到了完整的品牌列表数据。照此方法,他最终顺利获取了车系和车型的全部接口。 虽然演示基于特定版本的APP,但文章提供的这套从工具配置到逆向分析接口参数的方法论,具有很强的通用性,为服务端开发者打开了一扇观察移动端数据流向的窗口。