charles经常会用于手机上的网页、App抓包,帮助测试人员分析定位BUG。
手机抓包的原理和PC类似:手机的网络委托给charles进行代理,依靠charles与服务端进行对话。
手机抓包设置,需要进行以下3步:
1、开启Charleshttp代理
在Charles的菜单栏上选择“Proxy”->“Proxy Settings”,填入代理端口8888(注意,这个端口不一定填写8888,也可以写别的端口,但是需要记住这个段扩,因为这里设置的允许接入的端口,手机端配置的时候需要用到),并且勾上”Enable transparent HTTP proxying” 就完成了在Charles上的设置。如下图:
2、手机端Wifi添加代理
点击Help -> local IP Address 可以看到当前的本机IP地址,如下图:
手机连接接wifi,wifi的HTTP代理选择手动那项(安卓类似)
在iPhone的 “设置”->“无线局域网“中,可以看到当前连接的wifi名,通过点击右边的详情键,在其最底部有“HTTP代理”一项,我们将其切换成手动,然后填上Charles运行所在的电脑的IP,以及端口号8888,如下图:
注意:检查电脑和手机必须连接同一个wifi
3、charles弹窗询问是否允许
设置好之后,我们打开iPhone上的任意需要网络通讯的程序,就可以看到Charles弹出iPhone请求连接的确认菜单,如下图的弹窗,点击Allow(允许)即可。(注:如果charles连接不上手机,关闭电脑的防火墙)
Charles简单的网络请求抓取已经完成。
如果需要抓取HTTPS网站的资源,请查看Charles的HTTPS抓包方法及原理
注意:当结束抓包时,要记得把手机WiFi代理恢复过来(选择自动即可),否则会影响手机上网
原创文章,作者:iTestCat,保留所有权利,禁止转载,如若转载,请联系作者!