Mac下如何使用Charles抓包调试App

前言

1、工具的选择

       抓包方式有多种(Charles、Fiddler、Spy-debugger、Wireshark等),这里只说这一种Charles!

       Charles是一个在本地运行的Web代理(HTTP代理/ HTTP监视器)软件。开启Charles后,Web浏览器(或任何其他的互联网应用程序)将配置为通过Charles来访问互联网,而Charles则能够记录并显示你所有的发送和接收的数据。

       在Web和互联网的开发项目中,如果你不能看到客户端(比如浏览器)和服务器之间到底有什么数据正在发送和接收,如果没可视化监控手段,那么确定故障原因将是困难和费时的。Charles可以很容易地看到发生了什么,这样你就可以快速诊断并解决问题。

2、抓包测试原理

抓包工具的主要原理就是网络代理,所有的请求和响应都用工具来隔离。工具内部就能模拟限速以及丢包的效果。

手机配合Mac抓包主要是利用手机访问Mac机上的代理端口,把手机的请求和响应绑定到该端口,然后所有控制就由工具去掌管。

相同的网络,Mac的IP=a,手机用a作为代理,端口则是Charles默认的8888。关键环节,Mac使用正常端口访问网络。

3、工具的安装

安装包可以去官网下载,然后找破解,或者直接下载破解版。下载了DMG文件后即可开始安装,安装时可能会提示需要java支持,如果机器上java版本不合适,请根据提示到苹果网站找到合适的java安装。其实 用正版也可以,只不过每次使用时长是30分钟

MAC与iPhone连接操作步骤

1、电脑端:打开Charles工具,先从菜单入手

http: proxy>proxy settings设置代理端口


https:proxy>SSL proxy settings设置要代理的域名,默认端口443


2、手机端:手机设置代理连到端口上,前提是手机和pc在同一局域网



3、用手机浏览器 下载证书



注意:记得去手机 设置-通用-描述文件 里安装一下这个文件!!!

准备就绪开始抓包

到此为止手机里的请求都可以获取到如下图  以 高铁管家App 为例

看一下这个地址mobile.12306.cn 前面是小锁,说明获取到的数据是看不到的,接下来我们要设置SSL地址,https:proxy>SSL proxy settings设置要代理的域名mobile.12306.cn

再次尝试重新刷新数据

到此为止是数据请求的抓包过程

MAC上使用Safari浏览器调试WebView

在macOS上打开Safari设置

Safari – 偏好设置 – 高级 – 勾选“在菜单栏中显示开发”

在iOS设置

设置 – Safari – 高级 – 打开Web检查器

将网页的地址输入到手机Safari上打开,注意:电脑和手机要用数据线连接!!!

下图就是调试界面

你可能感兴趣的:(Mac下如何使用Charles抓包调试App)