前言
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上打开,注意:电脑和手机要用数据线连接!!!
下图就是调试界面