某些app无法抓包问题

1.首先确认其他app包是否能够正常抓取,如果其他app能过正常抓包,请继续往下看。

2.回顾一下手机抓包的流程,手机抓包是需要手机使用fiddle,charles,mitmproxy,packageCapture这些作为代理的.

app不能抓包的原因之一就是http客户端(也就是不能抓包的app)在检测使用了系统代理的时候,可以不使用系统代理,也就是请求不经过代理,自然而然你就在抓包工具上看不到请求等信息。

3.针对(2)中的问题的解决方法就是在http客户端(也就是不能抓包的app)不使用系统代理的前提下,还能让请求经过抓包工具。

可以使用drony或者proxydroid 或者是等转发流量,也就是说请求在流量转发以后又经过了fiddle,charles这些代理,从而能过抓到数据,使用这两个软件需要手机root权限

4.我在(3)中的问题搞定之后,如果发现仍旧不能看到抓包信息,请确定你的android版本,android7.0及以上,http客户端(也就是不能抓包的app)是可以指定只信任系统证书的,而charles,fiddle这类抓包工具的证书都是默认安装在用户证书下的,也就是无效的,这样的话charles,fiddle这类抓包工具就无法解密https,也就看不到报文,所以解决的方法就是将证书安装在系统目录下,需要通过ssl 命令对证书重新命名,然后将证书放在系统目录下,所以这一步是需要手机拥有root权限的,配合adb,贴几篇我参考的文章。

https://www.cnblogs.com/lulianqi/p/11380794.html

https://blog.csdn.net/jing__jie/article/details/102717993

https://www.jianshu.com/p/035f7d7a0f7e

5如果(4)中的方法还不可以,那么原因可能在于ssl panning,大致意思是客户端只接受自己定义的证书,而不信任系统证书,建议搜索ssl panning了解一下,解决方法就是通过hook住系统函数来绕过证书验证。例如 xposed + JustTrustMe , JustTrustMe是xposed中的一个模块,他几乎hook了所以用于系统证书校验的函数,通过这种方法绕过证书验证。还有github上的objection,他是python的一个库,他的口号就是轻松绕过ssl panning,或者自己使用frida实现hook操作,当然这需要一定的时间成本。

 

 

以上就是本人遇到过的app无法抓包的解决方法

如有疑问请联系qq1978912861,备注 csdn

你可能感兴趣的:(charls)