登录
注册
node.js 学习社区
用charles 查看手机APP 的数据接口

笑死孔丘

2019-09-28 16:30

官网 http://www.charlesproxy.com ; 可下载到最新版本,官网下载是未破解的,只能使用30天。 抓取手机端的app的数据接口如下:

第1步:代理设置:见下图:


点击代理--->代理设置,就出现该界面了,端口一般为8888,也可根据你自己的需求更改,但是不要和电脑端的其他应用端口重复了。

第2步:手机端设置

a:查看电脑ip window+R 输入cmd , 在黑窗口内输入ipconfig,就可看到IP地址了。

b:打开手机的设置-->无线和网络--> WLAN ,找到你当前连接的wifi 。点击或长按(部分手机操作方式不一样)出现选择项,选择修改网络,进行修改。

c:如何修改:勾选显示高级选项,然后出现修改事项,修改代理为手动,服务器主机名:修改为你自己电脑的ip,端口就是第一步代理设置的端口:8888,修改好后点击保存。效果见下图:


d:为手机安装证书:上面设置好后,打开手机上的浏览器,输入:http:chls.pro/ssl 就会下载证书,证书下载好后安装即可。

第3步:charles 解决HTTPS加密协议显示unknown

在Proxy -> SSL Proxy setting ,设置Enable SSL Proxying,然后点“Add”,输入host:*和port:443 如下图:

第4步:打开手机上的应用,查看charles显示结果 


至此抓包工作就搞定了,不过抓应用app一般需要Android7.0以下的手机,即使抓到了数据也要一步步去分析,感兴趣的童鞋们可以自己去钻研下。

注意事项:

1、当我们不抓包的时候,会将Charles关闭,这时候你的手机是访问不到网络的,因为设置了代理(就是Charles),这时候需要将Android手机中的代理关闭,这个是抓包时经常犯的错。

2、Charles抓取,必须保持电脑端和手机端连接的wifi,是在同一个网络环境下。

3、Charles抓取手机应用时,可以过滤电脑端的抓取,如何设置:代理-->Windows代理打勾去了就不会抓取电脑端的了。

4、在Android7.0及以上手机系统,抓取部分应用可能出现无法抓取的情况,主要原因为:在默认情况下,来自所有应用的安全连接(使用TLS和HTTPS之类的协议)均信任预装的系统CA,而面向6.0及以下系统版本的应用默认情况下还会信任用户添加的CA证书。如果我们抓取的应用将targetSdkVersion修改到24以上的时候,应用则不会信任用户安装的证书了。建议在抓包的时候使用6.0及以下手机进行抓取。

参考文章:

https://www.cnblogs.com/mawenqiangios/p/8270238.html

https://blog.csdn.net/Abner_Crazy/article/details/98871441

https://testerhome.com/topics/9519

回复 · 1

  • 证书无法安装的情况:

    1.使用第三方浏览器下载.pem 格式的文件

    2.将这个文件放入小米的 DownLoad 文件夹下

    3.将.pem 文件修改为.crt 格式

    4.设置---更多设置---系统安全---从存储设备安装--选择文件,选定该文件

    0

发表回复

你可以在回复中 @ 其他人